• k8s部署wordpress


    服务端

    yum install -y nfs-utils  rpcbind

    mkdir -p /wp/{data,code}

    echo "/wp/data 192.168.3.0/24(rw,async,no_root_squash,no_all_squash) ">>/etc/exports

    && echo "/wp/code 192.168.3.0/24(rw,async,no_root_squash,no_all_squash) ">>/etc/exports

    systemctl restart rpcbind nfs

    systemctl enable rpcbind nfs

    客户端

    yum install -y nfs-utils

    showmount -e 192.168.3.220

    Master:

    docker pull wordpress

    docker pull mysql:5.7

    docker tag mysql:5.7 192.168.3.220:5000/wp/wordpress:latest

    docker pull 192.168.3.220:5000/wp/mysql:5.7

    docker tag wordpress:latest 192.168.3.220:5000/wp/wordpress:latest

    docker pull 192.168.3.220:5000/wp/wordpress:latest

     启动顺序PV-->PVC-->RCmysql(mysql.查ip)-->SVCmysql-->RCweb-->SVCweb

    [root@220 nfs]# ls
    1pvdata.yml  2pvcdata.yml  3rcmysqlwp.yml  4svcmysqlwp.yml  downmysql
    1pvweb.yml   2pvcweb.yml   3rcwebwp.yml    4svcwebwp.yml    upmysql.sh
    [root@220 nfs]# cat 1pvdata.yml 
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv0001
    spec:
      capacity:
        storage: 10Gi
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Recycle
      nfs:
        path: '/wp/data'
        server: 192.168.3.220
        readOnly: false
    View Code
    [root@220 nfs]# cat 1pvweb.yml 
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv0002
    spec:
      capacity:
        storage: 10Gi
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Recycle
      nfs:
        path: '/wp/code'
        server: 192.168.3.220
        readOnly: false
    View Code
    [root@220 nfs]# cat 2pvcdata.yml 
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pv0001
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 1Gi
    [root@220 nfs]# 
    View Code
    [root@220 nfs]# cat 2pvcweb.yml 
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pv0002
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 1Gi
    View Code
    [root@220 nfs]# cat 3rcmysqlwp.yml 
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: mysql
    spec:
      replicas: 1
      selector:
        app: mysql
      template:
        metadata:
          labels:
            app: mysql
        spec:
          containers:
          - name: mysql
            image: 192.168.3.220:5000/wp/mysql:5.7
            ports:
            - containerPort: 3306
            volumeMounts:
            - name: nfs-vol
              mountPath: /var/lib/mysql
            env:
            - name: MYSQL_ROOT_PASSWORD
              value: "123qwe"
            - name: MYSQL_DATABASE
              value: "wp"
            - name: MYSQL_USER
              value: "w"
            - name: MYSQL_PASSWORD
              value: "123123"
          volumes:
          - name: nfs-vol
            persistentVolumeClaim:
              claimName: pv0001
    View Code
    [root@220 nfs]# cat 3rcwebwp.yml 
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: myweb
    spec:
      replicas: 3
      selector:
        app: myweb
      template:
        metadata:
          labels:
            app: myweb
        spec:
          containers:
          - name: mysql
            image: 192.168.3.220:5000/wp/wordpress:latest
            ports:
            - containerPort: 80
            volumeMounts:
            - name: nfs-vol
              mountPath: /var/www/html
            env:
            - name: WORDPRESS_DB_HOST
              value: "待变更"
            - name: WORDPRESS_DB_NAME
              value: "wp"
            - name: WORDPRESS_DB_USER
              value: "w"
            - name: WORDPRESS_DB_PASSWORD
              value: "123123"
          volumes:
          - name: nfs-vol
            persistentVolumeClaim:
              claimName: pv0002
    View Code
    [root@220 nfs]# cat 4svcmysqlwp.yml 
    apiVersion: v1
    kind: Service
    metadata:
      name: mysql
    spec:
      ports:
        - port: 3306
      selector: 
        app: mysql
    View Code
    [root@220 nfs]# cat 4svcwebwp.yml 
    apiVersion: v1
    kind: Service
    metadata:
      name: myweb
    spec:
      type: NodePort
      ports:
        - port: 80
          nodePort: 30008
      selector: 
        app: myweb
    View Code

    -------------------------------------------------------------------------------------------------------------------------------------------

    shell

    [root@220 nfs]# cat downmysql.sh
    kubectl delete -f 4svcwebwp.yml
    kubectl delete -f 4svcmysqlwp.yml
    kubectl delete -f 3rcmysqlwp.yml
    kubectl delete -f 3rcwebwp.yml 
    kubectl delete -f 2pvcdata.yml 
    kubectl delete -f 2pvcweb.yml 
    kubectl delete -f 1pvdata.yml 
    kubectl delete -f 1pvweb.yml 
    [root@220 nfs]# cat upmysql.sh 
    kubectl create -f 1pvdata.yml 
    kubectl create -f 1pvweb.yml 
    kubectl create -f 2pvcdata.yml 
    kubectl create -f 2pvcweb.yml 
    kubectl create -f 3rcmysqlwp.yml 
    kubectl create -f 4svcmysqlwp.yml
    kubectl get pods -o wide |grep  mysql|awk '{print $6}'

    explain

  • 相关阅读:
    【LA3461】Leonardo的笔记本
    【洛谷P3708】Koishi的数学题
    【Uva11762】Race to 1
    【uva11421】玩纸牌
    【反演复习计划】【51nod1594】Gcd and Phi
    【乱入】Uva11021麻球繁衍
    【反演复习计划】【bzoj4407】于神之怒加强版
    BZOJ3293: [Cqoi2011]分金币
    BZOJ2400: Spoj 839 Optimal Marks
    BZOJ1391: [Ceoi2008]order
  • 原文地址:https://www.cnblogs.com/Leaders543/p/12665894.html
Copyright © 2020-2023  润新知