最近更新时间:2025-01-03 14:20:28
登录KCE集群节点,在所有KCE节点上统一安装、挂载KPFS。
在 pod 定义中使用 hostPath
卷,直接将宿主机上的 KPFS 子目录挂载到容器中,然后通过kubectl apply -f nginx.yaml
命令创建Pod。
apiVersion: v1
kind: Pod
metadata:
name: nginx-app
spec:
containers:
- ...
volumeMounts:
- name: kpfs-data
mountPath: /opt/app-data
volumes:
- name: kpfs-data
hostPath:
# 假设宿主机KPFS挂载点为 /kpfs
path: "/kpfs/myapp/"
type: Directory
启动Pod,使用KPFS文件系统。
kubectl apply -f ./nginx.yaml
执行命令,查看Pod运行状态。
kubectl get pods | grep nginx
执行命令,查看挂载结果。
kubectl exec nginx-app stat /opt/app-data
注意
所有KCE集群节点都需要提前挂载KPFS。因此集群加入新节点,需要在初始化流程里配置以上操作进行安装和挂载,否则新节点没有KPFS挂载点,容器将无法创建。
在Pod删除后不影响KPFS挂载目录,目录仍然存在。
KPFS挂载点的生命周期与宿主机绑定,如需重新挂载文件系统,可以借助KPFS的客户端平滑重启功能来确保重新挂载以后不会影响应用 Pod 访问挂载点。
如果宿主机上的挂载进程意外退出,将会导致应用 Pod 无法正常访问挂载点,此时需要重新挂载KPFS文件系统并重建应用 Pod。
纯净模式