1 创建持久化目录
mkdir -pv /lzs/data/nfs-server/case-demo/wordpres/{wp,db}2 编写资源清单
vim 19-pods-mysql-wordpress-nfs.yaml
apiVersion: v1
kind: Pod
metadata:
name: wordpress-db
labels:
apps: db
spec:
volumes:
- name: data
nfs:
server: 10.0.0.231
path: /lzs/data/nfs-server/case-demo/wordpres/db
nodeName: worker233 # 指定工作结点 (必须是k8s的主机名)
hostNetwork: true
containers:
- name: db
image: docker pull mysql:oraclelinux9 # 拉取镜像 (得翻墙)
env:
- name: MYSQL_ROOT_PASSWORD #指定mysql的密码
value: "123456" # 密码
- name: MYSQL_DATABASE # 传参 数据库创建库
value: "wordpress" # 库名
- name: MYSQL_USER # 1 数据库mysql的用户
value: lzs
- name: MYSQL_PASSWORD # 2 数据库mysql密码
value: liuzhisong
volumeMounts:
- name: data
mountPath: /var/lib/mysql
---
apiVersion: v1
kind: Pod
metadata:
name: wordpress-wp
labels:
apps: wp
spec:
volumes:
- name: data
nfs:
server: 10.0.0.231
path: /lzs/data/nfs-server/case-demo/wordpres/wp
hostNetwork: true
nodeName: worker232 # 指定工作结点 (必须是k8s的主机名)
containers:
- name: wp
image: docker pull wordpress:php8.4-fpm # 拉取镜像 (得翻墙)
env:
- name: WORDPRESS_DB_HOST
value: "10.0.0.233" # worker233 的ip地址
- name: WORDPRESS_DB_NAME # 指定数据库mysql的库
value: "wordpress"
- name: WORDPRESS_DB_USER # 必须和上面的 1 一样
value: lzs
- name: WORDPRESS_DB_PASSWORD # 必须和上面的 2 一样
value: liuzhisong
volumeMounts:
- name: data
mountPath: /var/www/html3.创建资源
[root@master231 ~ ]# kubectl apply -f 19-pods-mysql-wordpress-nfs.yaml
pod/wordpress-db created
pod/wordpress-wp created
[root@master231 ~ ]#
[root@master231 ~ ]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
wordpress-db 1/1 Running 0 5s 10.0.0.233 worker233 <none> <none>
wordpress-wp 1/1 Running 0 5s 10.0.0.232 worker232 <none> <none>
4.访问测试
http://10.0.0.232/