博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kubernetes部分Volume类型介绍及yaml示例--NFS(网络数据卷)
阅读量:6276 次
发布时间:2019-06-22

本文共 3287 字,大约阅读时间需要 10 分钟。

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

  1. 说明
    nfs 卷允许将现有的 NFS(网络文件系统)共享挂载到你的容器中。不像 emptyDir,当删除 Pod 时,nfs 卷的内容被保留,卷仅仅是被卸载。这意味着 NFS 卷可以预填充数据,并且可以在 pod 之间“切换”数据。 NFS 可以被多个写入者同时挂载。
  2. 部署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

转载于:https://blog.51cto.com/wutengfei/2124840

你可能感兴趣的文章
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
java 用反射简单应用,将Object简单转换成map
查看>>