011.Kubernetes使用共享存储长期化数据
本次尝试是以前面的尝试为根本,使用的是模拟使用kubernetes集群部署一个企业版的wordpress为实例进行研究学习,主要的过程如下:
1.mysql deployment部署, wordpress deployment部署, wordpress连接mysql时,mysql的 pod ip易变
2.为mysql创建 service,申请固定 service lp
3. wordpress外部可访谒,使用 node port类型的 service
4. nodeport类型的 service需要映射端口,不是很优雅
5.使用 ingressl
6.mysq1的pod旦被从头调理,数据就会丢掉
7. hostpath将pod数据挂载至本地,然后使用标签选择器将mysq1lpod固定在一个节点上
8.共享存储以长期化数据,即使po挂失,被从头拉起,也能自动挂载存储
本次尝试解决使用共享存储数据长期化的问题尝试使用NFS作为共享存储
一 使用NFS共享存储 1.1 安置NFS再server3和server1上安置nfs
[[email protected] ~]# yum -y install nfs-utils
[[email protected] ~]# yum -y install nfs-utils
[[email protected] ~]# vi /etc/exports
/data *(rw,no_root_squash)
[[email protected] ~]# systemctl restart nfs
[[email protected] ~]# systemctl status nfs
[[email protected] ~]# showmount -e
Export list for docker-server3: /data *
1.2 到server1长进行挂载测试[[email protected] ~]# mount -t nfs 192.168.132.133:/data /mnt
[[email protected] ~]# df -hT
192.168.132.133:/data nfs4 47G 7.3G 40G 16% /mnt
[[email protected] ~]# umount /mnt/
nfs配置告成
1.3 数据库使用共享存储挂载卷[[email protected] ~]# mkdir /data/mysql
[[email protected] deployment]# vi mysql-deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: mysql namespace: default spec: replicas: 1 selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: volumes: - name: mydata nfs: server: 192.168.132.133 path: /data/mysql containers: - name: mysql image: mysql:5.7 volumeMounts: - name: mydata mountPath: /var/lib/mysql ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: RedHat123 - name: MYSQL_DATABASE value: wordpress
[[email protected] deployment]# kubectl get pods -o wide
mysql-857589b5d4-j65d2 1/1 Running 0 20s 10.244.2.20 192.168.132.133 <none>
[[email protected] ~]# ll /data/mysql
-rw-r----- 1 polkitd ssh_keys 56 Jan 17 22:29 auto.cnf -rw------- 1 polkitd ssh_keys 1676 Jan 17 22:29 ca-key.pem -rw-r--r-- 1 polkitd ssh_keys 1112 Jan 17 22:29 ca.pem -rw-r--r-- 1 polkitd ssh_keys 1112 Jan 17 22:29 client-cert.pem -rw------- 1 polkitd ssh_keys 1680 Jan 17 22:29 client-key.pem -rw-r----- 1 polkitd ssh_keys 1346 Jan 17 22:29 ib_buffer_pool -rw-r----- 1 polkitd ssh_keys 79691776 Jan 17 22:29 ibdata1 -rw-r----- 1 polkitd ssh_keys 50331648 Jan 17 22:29 ib_logfile0 -rw-r----- 1 polkitd ssh_keys 50331648 Jan 17 22:29 ib_logfile1 -rw-r----- 1 polkitd ssh_keys 12582912 Jan 17 22:30 ibtmp1 drwxr-x--- 2 polkitd ssh_keys 4096 Jan 17 22:29 mysql drwxr-x--- 2 polkitd ssh_keys 8192 Jan 17 22:29 performance_schema -rw------- 1 polkitd ssh_keys 1680 Jan 17 22:29 private_key.pem -rw-r--r-- 1 polkitd ssh_keys 452 Jan 17 22:29 public_key.pem -rw-r--r-- 1 polkitd ssh_keys 1112 Jan 17 22:29 server-cert.pem -rw------- 1 polkitd ssh_keys 1680 Jan 17 22:29 server-key.pem drwxr-x--- 2 polkitd ssh_keys 8192 Jan 17 22:29 sys drwxr-x--- 2 polkitd ssh_keys 20 Jan 17 22:29 wordpress
这样,房mysql的pod是被删除的时候,数据不会丢掉
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31427.html