分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Kubernetes部分Volume类型介绍及yaml示例--NFS(网络数据卷)

发布时间:2023-09-06 01:58责任编辑:顾先生关键词:暂无标签
Kubernetes部分Volume类型介绍及yaml示例--NFS(网络数据卷)

  1. 说明
    nfs 卷允许将现有的 NFS(网络文件系统)共享挂载到你的容器中。不像 emptyDir,当删除 Pod 时,nfs 卷的内容被保留,卷仅仅是被卸载。这意味着 NFS 卷可以预填充数据,并且可以在 pod 之间“切换”数据。 NFS 可以被多个写入者同时挂载。
  2. 部署NFS服务器
    关于NFS的部署,请参考NFS部署及优化(一)
  3. 实战pod内的文件共享
    #创建yaml文件cat >> nginx_volume.yaml << EOFapiVersion: v1kind: Podmetadata: ???name: nginx-test ???namespace: test ???labels: ???????app: nginxspec: ???containers: ???- name: nginx ???????image: nginx:1.7.9 ???????ports: ???????- containerPort: 80 ???????volumeMounts: ???????#Mount the path to the container ???????- mountPath: "/tmp/" ???????????name: pv0003 ???volumes: ???- name: pv0003 ???????nfs: ?????????#fixed:This ip is the address of the nfs server ???????????server: 192.168.246.169 ???????????#fixed:This path is shared externally by the nfs server ???????????path: "/data"
    #启动nginx_volume.yamlkubectl create -f ./nginx_volume.yaml 
    #查看Pod运行状态kubectl get po -n testNAME ????????????????????????READY ????STATUS ???RESTARTS ??AGEnginx-test ??????????????????1/1 ??????Running ??0 ?????????29s
    #进入容器查看共享卷volumekubectl exec -it nginx-test ?/bin/bash --namespace=testroot@nginx-test:/# cd tmproot@nginx-test:/tmp# lslost+found ?sys##我们可以看到NFS服务器共享卷/data已经挂载进来了
  4. 实战多个Pod内的容器间共享
    #创建deploymentcat >> deploy_volume.yaml << EOFapiVersion: extensions/v1beta1kind: Deploymentmetadata: ???name: nginx-wtf ???namespace: testspec: ???replicas: 2 ???template: ???????metadata: ???????????labels: ???????????????app: wtf ???????spec: ???????????containers: ???????????- name: nginx-wtf ???????????????image: nginx:1.7.9 ???????????????ports: ???????????????- containerPort: 81 ???????????????volumeMounts: ????????????????- name: pv0003 ????????????????????mountPath: /tmp/ ???????????volumes: ???????????- name: pv0003 ???????????????nfs: ???????????????????server: 192.168.246.169 ???????????????????path: "/data/"
    #启动deploymentkubectl create -f ./deploy_volume.yaml
    #查看Pods的运行状态NAME ????????????????????????READY ????STATUS ???RESTARTS ??AGEnginx-wtf-5774b87bdc-n97gr ??1/1 ??????Running ??0 ?????????32mnginx-wtf-5774b87bdc-xpsnr ??1/1 ??????Running ??0 ?????????32m
    #进入容器查看共享卷volumekubectl exec -it nginx-wtf-5774b87bdc-n97gr ?/bin/bash --namespace=testroot@nginx-wtf-5774b87bdc-n97gr:/# cd tmproot@nginx-wtf-5774b87bdc-n97gr:/tmp# lslost+found ?sys
  5. 实战volume的操作
    #查看下当前命名空间运行有挂载NFS卷的Podskubectl get po -n testNAME ????????????????????????READY ????STATUS ???RESTARTS ??AGEnginx-test ??????????????????1/1 ??????Running ??0 ?????????2mnginx-wtf-5774b87bdc-n97gr ??1/1 ??????Running ??0 ?????????36mnginx-wtf-5774b87bdc-xpsnr ??1/1 ??????Running ??0 ?????????36m##在命名空间test里运行有三个Pods
    #在NFS服务端对共享卷进行操作##创建目录datagrandmkdir /data/datagrand
    #查看各Pod中容器内卷的变化##nginx-testkubectl exec -it nginx-test ?/bin/bash --namespace=testroot@nginx-test:/# cd tmproot@nginx-test:/tmp# lsdatagrand ?lost+found ?sys##nginx-wtf-5774b87bdc-n97grkubectl exec -it nginx-wtf-5774b87bdc-n97gr ?/bin/bash --namespace=testroot@nginx-wtf-5774b87bdc-n97gr:/# cd tmproot@nginx-wtf-5774b87bdc-n97gr:/tmp# lsdatagrand ?lost+found ?sys##nginx-wtf-5774b87bdc-xpsnrkubectl exec -it nginx-wtf-5774b87bdc-xpsnr ?/bin/bash --namespace=testroot@nginx-wtf-5774b87bdc-xpsnr:/# cd tmproot@nginx-wtf-5774b87bdc-xpsnr:/tmp# lsdatagrand ?lost+found ?sys##说明:我们可以看到各Pod中容器内卷已有datagrand

Kubernetes部分Volume类型介绍及yaml示例--NFS(网络数据卷)

原文地址:http://blog.51cto.com/wutengfei/2124840

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved