[root@master apache]# cat apche-storage.yaml
# 以下为Apache的存储配置(结构与MySQL类似)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: apache-pvc #name
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: manual # 需与PV的storageClassName匹配
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: apache-pv
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data/apache" # 确保节点存在该目录
[root@master apache]# cat mysql-storage.yaml
# 持久化卷声明(PVC)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc #pvc名称后续Pod会用到
spec:
accessModes:
- ReadWriteOnce #单节点读写
resources:
requests:
storage: 1Gi #申请1GB存储空间
storageClassName: manual #指定匹配的存储类名称
---
# 持久化卷(PV)
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv #PV名称
spec:
storageClassName: manual #与PVC的StorageClassName一致
capacity:
storage: 1Gi #PV容量>=PVC请求容量
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data/mysql" #本地路径
[root@master apache]# cat web-
web-pod.yaml web-service.yaml
[root@master apache]# cat web-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: web-app
labels:
app: web-app # Service通过此标签选择Pod
spec:
containers:
# Apache容器配置
- name: apache
image: httpd:latest
ports:
- containerPort: 80 # 容器监听的端口
volumeMounts:
- name: apache-storage
mountPath: "/usr/local/apache2/htdocs" # Apache默认网站目录
# MySQL容器配置
- name: mysql
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD # 必需的环境变量(设置root密码)
value: "123" # 生产环境建议改用Secret
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-storage
mountPath: "/var/lib/mysql" # MySQL数据目录
# 定义Pod级别的存储卷
volumes:
- name: mysql-storage
persistentVolumeClaim:
claimName: mysql-pvc # 绑定前面创建的PVC
- name: apache-storage # Apache存储按需启用
persistentVolumeClaim:
claimName: apache-pvc
[root@master apache]# cat web-service.yaml
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
type: NodePort # 通过节点IP+端口暴露服务
selector:
app: web-app # 选择标签为app:web-app的Pod
ports:
- protocol: TCP
port: 80 # Service的端口(集群内部访问用)
targetPort: 80 # 目标容器端口(需与containerPort一致)
nodePort: 30080 # 节点暴露端口(范围30000-32767)
为什么我的apche网页没有更改
我在节点 /mnt/data/apache下创建index.html 想要更改apache的网页没有成功