通过Rancher部署mysql数据库 1 持久化存储类准备 1.1 NFS服务 1 2 3 4 5 6 7 8 9 [root@nfsserver ~] NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─centos-root 253:0 0 50G 0 lvm / ├─centos-swap 253:1 0 2G 0 lvm └─centos-home 253:2 0 47G 0 lvm /home sdb 8:16 0 100G 0 disk /sdb
1 2 3 4 [root@nfsserver ~] [root@nfsserver ~] ...... /dev/sdb /sdb xfs defaults 0 0
1 2 3 [root@nfsserver ~] [root@nfsserver ~] /sdb *(rw,sync ,no_root_squash)
1 2 3 [root@nfsserver ~] Export list for nfs-server: /sdb *
1.2 存储卷
需要修改class.yaml中资源对象名称为nfs-client
需要修改deployment.yaml中nfs server及其共享的目录、容器对应的镜像。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [root@k8s-master01 nfsdir] [root@k8s-master01 nfsdir] apiVersion: apps/v1 kind: Deployment metadata: name: nfs-client-provisioner labels: app: nfs-client-provisioner namespace: default spec: replicas: 1 strategy: type : Recreate selector: matchLabels: app: nfs-client-provisioner template: metadata: labels: app: nfs-client-provisioner spec: serviceAccountName: nfs-client-provisioner containers: - name: nfs-client-provisioner image: registry.cn-beijing.aliyuncs.com/pylixm/nfs-subdir-external-provisioner:v4.0.0 volumeMounts: - name: nfs-client-root mountPath: /persistentvolumes env : - name: PROVISIONER_NAME value: fuseim.pri/ifs - name: NFS_SERVER value: 192.168.10.133 - name: NFS_PATH value: /sdb volumes: - name: nfs-client-root nfs: server: 192.168.10.133 path: /sdb
1 2 3 [root@k8s-master01 ~] NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE nfs-client fuseim.pri/ifs Delete Immediate false 109m
2 MySQL数据库部署 2.1 PVC准备
1 2 3 [root@k8s-master01 ~] NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE myvolume Bound pvc-52460d7f-db89-40ab-b09e-ab9d0cfcaa17 5Gi RWO nfs-client 80s
1 2 3 [root@k8s-master01 ~] NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-52460d7f-db89-40ab-b09e-ab9d0cfcaa17 5Gi RWO Delete Bound kubemsbdata/myvolume nfs-client 84s
1 2 [root@nfsserver ~] kubemsbdata-myvolume-pvc-52460d7f-db89-40ab-b09e-ab9d0cfcaa17
2.2 MySQL部署
2.3 MySQL访问 2.3.1 方案一 通过Rancher web界面访问
2.3.2 方案二 通过主机访问 1 2 [root@k8s-master01 ~] tcp LISTEN 0 128 *:32666 *:* users :(("kube-proxy" ,pid=7654,fd=3))
1 2 3 4 5 6 7 8 9 10 11 12 13 [root@k8s-master01 nfsdir] ...... MySQL [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | kubemsb | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.01 sec)