linux cpu占用率如何看
239
2022-11-03
[云原生专题-37]:K8S - 核心概念 - 存储抽象- 搭建NFS网络文件系统与常见操作命令
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊
目录
第1步:NFS规划
第2步:搭建NFS server
2.1 安装NFS网络文件系统工具链
2.2 创建共享目录
2.3 暴露共享目录
2.4 启动NFS服务
2.5 测试
第3步:搭建NFS Client节点
3.1 安装NFS工具链
3.2 启动NFS服务
3.3 查看服务器上有哪些可以mount的NFS目录
3.4 创建本地目录,可以有不同的名称
3.5 把本地目录mount到远程目录
3.6 测试
第4步:在Client虚拟机上,使用K8S的原生的配置文件的方式挂NFS
4.2 应用部署
4.3 测试
第1步:NFS规划
1个NFS server,2个NFS client, 三者共享相同的文件系统 /nfs/data目录
任何一个节点更改 /nfs/data中的内容,其他节点都能够看到。
任何一个新的节点,要加入到NFS,只需要mount到/nfs/data即可。
第2步:搭建NFS server与操作命令
2.1 安装NFS网络文件系统工具链
yum -y install nfs-utils
2.2 创建共享目录
# 在server上创建nfs共享目录mkdir -p /nfs/data/#修改权限,支持读、写、执行操作chmod -R 777 /nfs/data
2.3 暴露共享目录
# 编辑export文件, 把新创建的目录/nfs/data/ export到网络中vim /etc/exports/nfs/data *(rw,no_root_squash,sync)# 配置生效,exportfs -r#查看是否生效exportfs
2.4 启动NFS服务
#启动rpcbind、nfs server服务sudo service nfs-server start #查看 RPC 服务的注册状况rpcinfo -p localhost
2.5 测试
# 写入一个测试文件echo "hello nfs server" > /nfs/data/test-server.txt# 通过云平台获得私网节点的私网地址: 172.24.130.172
第3步:搭建NFS Client节点与操作命令
3.1 安装NFS工具链
#所有节点安装客户端yum -y install nfs-utils
3.2 启动NFS服务
NA
3.3 查看服务器上有哪些可以mount的NFS目录
# 查看服务器上有哪些可以mount的NFS目录[root@k8s-node1 data]# showmount -e 172.24.130.172Export list for 172.24.130.172:/nfs/data *
3.4 创建本地目录,可以有不同的名称
#执行以下命令挂载 nfs 服务器上的共享目录到本机路径 /root/nfsmountmkdir -p /nfs/data
3.5 把本地目录mount到远程目录
mount -t nfs 172.24.130.172:/nfs/data /nfs/data
3.6 测试
# 写入一个测试文件echo "hello nfs server" > /nfs/data/test-client.txt$ cd /nfs/data/$ ls test-client.txt test-server.txt
至此,无论在client,还是在server上,都可以共享网络文件系统目录:/nfs/data/
第4步:在Client虚拟机上,使用K8S的原生的配置文件的方式挂NFS
4.1 编辑配置文件:depolyment.yaml
在创建Deployment的时候,同时创建NFS文件系统
apiVersion: apps/v1kind: Deploymentmetadata: labels: app: nginx-pv-demo name: nginx-pv-demospec: replicas: 2 selector: matchLabels: app: nginx-pv-demo template: metadata: labels: app: nginx-pv-demo spec: containers: - image: nginx name: nginx volumeMounts: - name: html mountPath: /usr/share/nginx/html volumes: - name: html nfs: server: 172.24.130.172 path: /nfs/data
mountPath: /usr/share/nginx/html =》 NFS Client端的Pod内部的贡献目录名server: 172.24.130.172 =》NFS服务器的IP地址path: /nfs/data/nginx-pv =》 NFS服务器端暴露出来的共享目录名
4.2 应用部署
$ touch deploy-nfs.yaml$ vi deploy-nfs.yaml$ kubectl apply -f deploy-nfs.yaml[root@k8s-node1 ~]# kubectl get podNAME READY STATUS RESTARTS AGEmy-deploy-8686b49bbd-b8w65 1/1 Running 0 6h6mmy-deploy-8686b49bbd-f2m4c 1/1 Running 0 6h5mmy-deploy-8686b49bbd-jz5cx 1/1 Running 0 6h6mnginx-pv-demo-db866fc95-6d9nz 1/1 Running 0 36snginx-pv-demo-db866fc95-qpx48 1/1 Running 0 36s
备注:
nginx-pv-demo-db866fc95-6d9nz 1/1 Running 0 36s
nginx-pv-demo-db866fc95-qpx48 1/1 Running 0 36s
新创建了一个deployment,包含2个pod,在这2个pod的容器中,自动启动NFS Client,并mount到:
nfs:
server: 172.24.130.172
path: /nfs/data
4.3 测试
(1)通过dashboard进入Pod内部的命令行
(2)或通过如下的命令进入pod内部
$ kubectl get pods$ kubectl exec -it nginx-pv-demo-db866fc95-6d9nz -- /bin/s# 在pod中的mount点:mountPath: /usr/share/nginx/html$ cd /usr/share/nginx/html$ lstest-client.txt test-server.txt
新创建的pod,自动mount远程的服务器172.24.130.172:/nfs/data, 本地的mount点为:/usr/share/nginx/html/
(3)修改和同步文件
# 在POD内部$ cd /usr/share/nginx/html/$ touch my-index.html# 在pod外部的服务器上[root@k8s-master1 data]# lsmy-index.html test-client.txt test-server.txt
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~