【发布时间】:2015-12-31 03:06:49
【问题描述】:
- 我正在启动一个 3-minions 类型为“m3.large”的 EC2 测试集群
- 想要将这些机器上可用的 32G SSD 存储用于在其上运行的 pod
- 想要使用 'hostPath' 将此存储的某些部分挂载到 pod,以便它在 minions 的生命周期中可用
但问题是,此存储的大部分分配给主机上的“/mnt/ephemeral/docker”,无法在主机上使用“hostPath”。在 minion 上看起来像
$ 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 内的实例存储用作实例持久性存储。
-
在 pod 中配置 'emptyDir' 使用来自 '/mnt/ephemeral/kubernetes' 的 1.4G 并快速填满
volumes: - name: data - emptyDir: {} -
在 pod 中配置 'hostPath' 使用 '/' 中的 7.8G 并快速填满
volumes: - name: data - hostPath: path: /cassandra_data
实例存储 30G 的主要块分配给“/mnt/ephemeral/docker”,并且不适用于 Kubernetes pod 作为实例持久存储。使用 EC2 实例内置的 SSD 存储(Kubernetes 卷)的最佳方式是什么。
【问题讨论】:
标签: amazon-ec2 kubernetes