zoukankan      html  css  js  c++  java
  • Docker Kubernetes Volume 网络数据卷

    Docker Kubernetes Volume 网络数据卷

    由于支持网络数据卷众多 今天只拿nfs作为案例。

    支持网络数据卷

    • nfs
    • iscsi
    • glusterfs
    • awsElasticBlockStore
    • cephfs
    • azureFileVolume
    • azureDiskVolume
    • vsphereVolume
    • .....

    环境:

    • 系统:Centos 7.4 x64
    • Docker版本:18.09.0
    • Kubernetes版本:v1.8
    • 管理节点:192.168.1.79
    • 工作节点:192.168.1.78
    • 工作节点:192.168.1.77

    一、搭建NFS服务与客户端

    1、管理节点:安装nfs服务端、配置nfs主配置文件、添加权限、启动

    yum install nfs-utils -y
    vim /etc/exports
    # 添加目录给相应网段访问并添加读写权限 /data 192.168.1.0/24(insecure,rw,async,no_root_squash)
    # 创建共享目录,添加权限
    mkdir -p /data
    chmod 777 /data
    # 开启rpc服务
    systemctl start rpcbind
    # 启动服务并设置开机自启 systemctl start nfs

    2、工作节点:安装nfs客户端、启动服务

    yum install nfs-utils -y
    # 开启rpc服务
    systemctl start rpcbind
    # 启动服务并设置开机自启
    systemctl start nfs

    二、共享NFS网络数据卷

    1、管理节点:创建yaml文件

    vim nginx-nfs.yaml

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: nginx-deployment-nfs
    spec:
      replicas: 3
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.10
            volumeMounts:
            - name: wwwroot
              mountPath: /var/www/html
            ports:
            - containerPort: 80
          volumes:
          - name: 
            nfs:
              server: 192.168.1.79
              path: /data
    # 指定api版本
    apiVersion: extensions/v1beta1
    # 指定需要创建的资源对象
    kind: Deployment
    # 源数据、可以写name,命名空间,对象标签
    metadata:
    # 指定对象名称
      name: nginx-deployment2-nfs
    # 描述资源相关信息
    spec:
    # 指定pod 副本数,默认1
      replicas: 3
    # 描述资源具体信息
      template:
    # 匹配标签字段
        metadata:
    # 指定pod标签value:key
          labels:
    # 标签名
            app: nginx
    # 管理容器
        spec:
    # 指定容器信息
          containers:
    # 指定容器名称
          - name: nginx
    # 指定镜像名称
            image: nginx:1.10
    # 网络数据卷管理
            volumeMounts:
    # 数据卷名称
            - name: wwwroot
    # 容器数据卷挂载路径
              mountPath: /var/www/html
    # 端口管理
            ports:
    # 暴露端口
            - containerPort: 80
    # 网络共享数据卷管理
          volumes:
    # 数据卷名称两边需要相同
          - name: wwwroot
    # 数据卷类型为nfs
            nfs:
    # NFS服务器地址
              server: 192.168.1.79
    # 服务端共享路径
              path: /data
    文件注解

    2、管理节点:创建Deployment

    kubectl create -f nginx-nfs.yaml
    命令:kubectl get pods -o wide
    
    NAME                                    READY     STATUS    RESTARTS   AGE       IP            NODE
    nginx-deployment-nfs-5fbcddddb6-7btt4   1/1       Running   0          55s       172.17.2.11   192.168.1.78
    nginx-deployment-nfs-5fbcddddb6-sf6bz   1/1       Running   0          55s       172.17.2.10   192.168.1.78
    nginx-deployment-nfs-5fbcddddb6-ws8wk   1/1       Running   0          55s       172.17.1.9    192.168.1.77
    查看创建情况
    命令:kubectl describe nginx-deployment-nfs-5fbcddddb6-sf6bz
    
        Mounts:
          /var/www/html from wwwroot (rw)
    Conditions:
      Type           Status
      Initialized    True 
      Ready          True 
      PodScheduled   True 
    Volumes:
      wwwroot:
        Type:        NFS (an NFS mount that lasts the lifetime of a pod)
        Server:      192.168.1.79
        Path:        /data
        ReadOnly:    false
    QoS Class:       BestEffort
    Node-Selectors:  <none>
    Tolerations:     <none>
    reated container
    查看详细信息

    3、测试

    # 1、宿主端nfs共享文件内创建文件
    命令:touch /data/123
    
    # 2、进入容器内查看文件是否共享
    命令:kubectl exec nginx-deployment-nfs-5fbcddddb6-sf6bz -it bash
    
    root@nginx-deployment-nfs-5fbcddddb6-sf6bz:/# ls /var/www/html/
    123
  • 相关阅读:
    linux安装php
    linux安装apache
    linux文件目录结构
    第五篇 -- 学习第四天打卡20190616
    第四篇 -- 学习第三天打卡20190615
    第一篇 -- 《每天读一点经济学常识 》 --于台风
    第三篇 -- 学习第二天打卡20190614
    第二篇--学习第一天打卡20190613
    第一篇--程序员如何学英语
    第二篇--无题
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10012409.html
Copyright © 2011-2022 走看看