成都商城网站开发设计,墨猴seo排名公司,定制企业网站建设哪家好,工商查询目录
1 NFS 卷的介绍 2 NFS 卷的实践操作 2.1 部署一台 NFS 共享主机 2.2 在所有k8s节点中安装nfs-utils 2.3 部署nfs卷 2.3.1 生成 pod 清单文件 2.3.2 修改 pod 清单文件增加 实现 NFS卷 挂载的 参数 2.3.3 声明签单文件并查看是否创建成功 2.3.4 在 NFS 服务器 创建默认发布…目录
1 NFS 卷的介绍 2 NFS 卷的实践操作 2.1 部署一台 NFS 共享主机 2.2 在所有k8s节点中安装nfs-utils 2.3 部署nfs卷 2.3.1 生成 pod 清单文件 2.3.2 修改 pod 清单文件增加 实现 NFS卷 挂载的 参数 2.3.3 声明签单文件并查看是否创建成功 2.3.4 在 NFS 服务器 创建默认发布文件并访问测试 1 NFS 卷的介绍
HostPath可以解决数据持久化的问题但是一旦Node节点故障了Pod如果转移到了别的节点又会出现问题了此时需要准备单独的网络存储系统比较常用的用NFS、CIFS。
NFS是一个网络文件存储系统可以搭建一台NFS服务器然后将Pod中的存储直接连接到NFS系统上这样的话无论Pod在节点上怎么转移只要Node跟NFS的对接没问题数据就可以成功访问。 2 NFS 卷的实践操作 2.1 部署一台 NFS 共享主机
# 部署 NFS 主机
[rootharbor ~]# yum install nfs-utils -y
[rootharbor ~]# systemctl enable --now nfs-server.service[rootharbor ~]# vim /etc/exports
/nfsdata *(rw,sync,no_root_squash)[rootharbor ~]# mkdir /nfsdata# 重新加载配置文件
[rootharbor ~]# exportfs -rv
exporting *:/nfsdata# 查看是否通讯
[rootharbor ~]# showmount -e
Export list for harbor:
/nfsdata * 2.2 在所有k8s节点中安装nfs-utils
[rootk8s-master node1 node2 ~]# yum install nfs-utils -y# 测试是否可用
[rootk8s-master volumes]# showmount -e harbor
Export list for harbor:
/nfsdata *
2.3 部署nfs卷
2.3.1 生成 pod 清单文件
[rootk8s-master volumes]# kubectl run nfs \
--image nginx:latest --port 80 \
--dry-runclient -o yaml nfs-volume.yml
2.3.2 修改 pod 清单文件增加 实现 NFS卷 挂载的 参数
[rootk8s-master volumes]# vim nfs-volume.yml
apiVersion: v1
kind: Pod
metadata:labels:run: nfsname: nfs
spec:volumes:# 定义一个名为 cache-vol 的 NFS 卷# NFS 卷允许 Pod 访问远程 NFS 服务器上的文件系统- name: cache-volnfs:server: 192.168.239.50 # NFS 服务器的 IP 地址path: /nfsdata # 在 NFS 服务器上的路径containers:- image: nginx:latestname: nginxvolumeMounts:# 将 cache-vol 卷挂载到容器内的 /usr/share/nginx/html 路径# 这样容器可以访问远程 NFS 服务器上的 /nfsdata 目录- mountPath: /usr/share/nginx/htmlname: cache-volports:- containerPort: 80
2.3.3 声明签单文件并查看是否创建成功
# 声明清单文件
[rootk8s-master volumes]# kubectl apply -f nfs-volume.yml# 查看是否创建成功
[rootk8s-master volumes]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nfs 1/1 Running 0 34s 10.244.1.36 k8s-node1 none none
nginx-v1-dbd4bc45b-49hhw 1/1 Running 0 3d19h 10.244.2.54 k8s-node2 none none
nginx-v2-bd85b8bc4-nqpv2 1/1 Running 0 3d19h 10.244.1.35 k8s-node1 none none
testpod 0/1 Completed 0 3d6h 10.244.2.58 k8s-node2 none none# 如果访问会显示 fobbiden 因为在 NFS服务器 的 /nfsdata 目录下并没有文件
[rootk8s-master volumes]# curl 10.244.1.36
html
headtitle403 Forbidden/title/head
body
centerh1403 Forbidden/h1/center
hrcenternginx/1.27.1/center
/body
/html2.3.4 在 NFS 服务器 创建默认发布文件并访问测试
# NFS 服务器增加数据文件
[rootharbor ~]# cd /nfsdata/
[rootharbor nfsdata]# echo this is NFS server 192.168.239.50 harbor index.html# 在集群内可以访问到
[rootk8s-master volumes]# curl 10.244.1.36
this is NFS server 192.168.239.50 harbor