Kubernetes集群 - 为pod使用EC2实例存储

时间:2015-10-02 20:07:29

标签: amazon-ec2 kubernetes

  1. 我正在开始一个3-minions类型'm3.large'
  2. 的EC2测试集群
  3. 想要在这些机器上使用32G SSD存储器来运行其上的pod
  4. 想使用'hostPath'将这个存储的某些部分安装到pod中,以便它可以用于奴才的生命
  5. 然而,问题是这个存储的大部分被分配给“/ mnt / ephemeral / docker”在主机上不可用于“hostPath”使用。在奴才看起来像

              $ df -h
              Filesystem                            Size  Used Avail Use% Mounted on
              udev                                  3.7G     0  3.7G   0% /dev
              tmpfs                                 748M   75M  674M  10% /run
              /dev/xvda1                            7.8G  2.0G  5.5G  27% /
              tmpfs                                 3.7G  828K  3.7G   1% /dev/shm
              tmpfs                                 5.0M     0  5.0M   0% /run/lock
              tmpfs                                 3.7G     0  3.7G   0% /sys/fs/cgroup
              /dev/mapper/vg--ephemeral-docker       30G  5.0G   23G  18% /mnt/ephemeral/docker
              /dev/mapper/vg--ephemeral-kubernetes  1.4G  1.4G     0 100% /mnt/ephemeral/kubernetes
              tmpfs                                 748M     0  748M   0% /run/user/1000
    

    此处30G分配给“/ mnt / ephemeral / docker”,仅在docker容器中作为临时存储提供。我理解持久存储的EBS卷,但是SSD /临时存储在EC2实例的生命周期中是持久的,并且可以用于在Kubernetes中运行的Cassandra pod的数据存储等需求

    主要问题是无法将pod中的实例存储用作实例持久性存储。

    1. 在pod中配置'emptyDir'使用来自'/ mnt / ephemeral / kubernetes'的1.4G并快速填充

          volumes:
               - name: data
               -  emptyDir: {}
      
    2. 在pod中配置'hostPath'使用7.8G来自'/'并快速填写

          volumes:
               - name: data
               -  hostPath: 
                  path: /cassandra_data
      
    3. 实例存储30G的大部分被分配给'/ mnt / ephemeral / docker',并且不能用作Kubernates pod作为实例持久存储。什么是使用(Kubernetes卷)内置EC2实例的SSD存储的最佳方式。

1 个答案:

答案 0 :(得分:1)

有讨论 https://github.com/kubernetes/kubernetes/issues/15055 所以我打算回答这个问题。