1、NFS依赖包安装(master及node节点)
yum install nfs-utils -y systemctl enable nfs-server && systemctl start nfs-server
2、为Master下mysql data和wordpress源码配置NFS共享目录
mkdir -p /kube/mysql-db mkdir -p /kube/wordpress chown nfsnobody:nfsnobody /kube/mysql-db chown nfsnobody:nfsnobody /kube/wordpress chmod 755 /kube/mysql-db chmod 755 /kube/wordpress echo -e "/kube/mysql-db *(rw,sync,no_subtree_check,no_root_squash)" > /etc/exports echo -e "/kube/wordpress *(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports exportfs -a
3、编辑wordpress.yaml文件
apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv labels: app: mysql spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle nfs: path: /kube/mysql-db server: docker3 --- apiVersion: v1 kind: PersistentVolume metadata: name: wp-pv labels: app: wordpress spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle nfs: path: /kube/wordpress server: docker3 --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mysql-pv-claim labels: app: mysql spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: wp-pv-claim labels: app: wordpress spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress-mysql labels: app: wordpress spec: selector: matchLabels: app: wordpress tier: mysql strategy: type: Recreate template: metadata: labels: app: wordpress tier: mysql spec: containers: - image: mysql:5.6 name: mysql env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mysql-pass key: password ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pv-claim --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress labels: app: wordpress spec: selector: matchLabels: app: wordpress tier: frontend strategy: type: Recreate template: metadata: labels: app: wordpress tier: frontend spec: containers: - image: wordpress:4.8-apache name: wordpress env: - name: WORDPRESS_DB_HOST value: wordpress-mysql - name: WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name: mysql-pass key: password ports: - containerPort: 80 name: wordpress volumeMounts: - name: wordpress-persistent-storage mountPath: /var/www/html volumes: - name: wordpress-persistent-storage persistentVolumeClaim: claimName: wp-pv-claim --- apiVersion: v1 kind: Service metadata: name: wordpress-mysql labels: app: wordpress spec: ports: - port: 3306 selector: app: wordpress tier: mysql clusterIP: None --- apiVersion: v1 kind: Service metadata: name: wordpress labels: app: wordpress spec: ports: - port: 80 nodePort: 30080 selector: app: wordpress tier: frontend type: NodePort
4、部署:kubectl create -f wordpress.yaml
登录页面:http://192.168.11.157:30080
原文链接:https://blog.csdn.net/lkolkolkol/article/details/106366634
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END