1.部署k8s(sealos部署)

注:一主两从。操作系统:centos8。nat模式  。ip:192.168.44.0/24网段

k8s部署具体操作:

1.下载(可以下载到本地,在上传)

wget https://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.tar.gz

链接

https://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.tar.gzhttps://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.tar.gz

2.解压

tar -zxvf sealos_5.0.1_linux_amd64.tar.gz

 3.把解压后文件放入/usr/bin

mv sealos sealctl lvscare image-cri-shim /usr/bin/

4.安装


sealos run \
  registry.cn-shanghai.aliyuncs.com/labring/helm:v3.16.2 \
  registry.cn-shanghai.aliyuncs.com/labring/calico:v3.28.1 \
  registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.30.0 \
  --masters 192.168.201.53 \  #主节点
  --nodes 192.168.201.51,192.168.201.48 \  #从节点
  -u root \  #用户名
  -p 'P@ssw0rd'  #密码

5.完成页面

6.查看是否running

kubectl get pods --all-namespaces

2.部署wordpress+mysql

1.创建svc(mysql操作)

apiVersion: v1
kind: Service       
metadata:
  name: db
  labels:
    app: db
spec:
  ports:
    - name: mysql    
      port: 3306        
  selector:
    app: db      
  clusterIP: None     

注:记得

kubectl apply -f head.yaml

2.创建statefulset(mysql操作)

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mysql
spec:
  serviceName: db                             
  replicas: 3
  selector:
    matchLabels:
      app: db
  template:
    metadata:
      labels:
        app: db
    spec:
      containers:
        - name: db
          image: mysql
          env:  
           - name: MYSQL_ROOT_PASSWORD
             value: "123456"
           - name: MYSQL_DATABASE
             value: "wordpress"  
          resources: {}

注:记得

kubectl apply -f sts.yaml

3.创建wordpress对接mysql(wordpress操作)

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: deploy01
  name: deploy01
spec:
  replicas: 3
  selector:
    matchLabels:
      app: deploy01
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: deploy01
    spec:
      containers:
      - image: wordpress
        name: wordpress
        env:
          - name: WORDPRESS_DB_HOST
            value: "mysql-0.db"    
          - name: WORDPRESS_DB_USER
            value: "root"
          - name: WORDPRESS_DB_PASSWORD
            value: "123456" 
          - name: WORDPRESS_DB_NAME
            value: "wordpress"
        resources: {}
status: {}

注:记得

kubectl apply -f deploy1.yaml

4.发布服务

kubectl expose deployment deploy01 --name svcblog --port 80 --target-port 80 --type NodePort

注:查看所有pod是否正常运行

5.查看service映射的端口(80映射到31801)

kubectl get svc svcblog

6.查看结果

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐