什么是生产Kubernetes节点安全的最小磁盘大小?

我在AWS上玩了Kubernetes,t2.medium EC2实例有20GB的磁盘空间,几天之后,其中一个节点的磁盘空间不足。 这似乎是由Docker镜像和日志的组合造成的。

从我读到的,Kubernetes拥有自己的Docker GC来pipe理Docker的磁盘使用情况和日志轮换。 我猜20GB是不够的Kubernetes自我pipe理磁盘使用情况。 什么是生产环境的安全磁盘大小?

按照快速入门指南中所述,使用GKE进行标准安装时,最终将获得3个n1-standard-1节点(请参阅机器types ),每个节点具有100 GB的存储空间。

查看群集创build后的节点,然后为您提供磁盘空间的这些数字:

$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 1.2G 455M 767M 38% / devtmpfs 1.9G 0 1.9G 0% /dev tmp 1.9G 24K 1.9G 1% /tmp run 1.9G 684K 1.9G 1% /run shmfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 95G 2.4G 92G 3% /var /dev/sda8 12M 28K 12M 1% /usr/share/oem media 1.9G 0 1.9G 0% /media tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 256K 0 256K 0% /mnt/disks tmpfs 1.0M 120K 904K 12% /var/lib/cloud overlayfs 1.0M 124K 900K 13% /etc 

这些数字可能会给你一个出发点,但正如其他人已经指出的那样,其余的取决于你的具体要求。

我认为没有一般的答案。 您已经回答了您自己 – 您需要足够的空间来放置泊坞窗图像,容器和日志。 多less取决于所使用的映像数量,运行的容器,生成的日志量以及要保留的日志量。

基于Kubernetes的应用程序不应该在容量上创build日志文件。 日志应该转到共享卷(pod外部)或者像elasticSearch,graylog那样loggingpipe理数据库。 在集群生命周期中,Pods将被创build和删除很多次。 在吊舱体积上安装的日志文件将消失。 最有可能的是,你希望你的日志比这更长寿。

从实验中,您已经知道这些数字,并能够根据您的需求估算使用量。

有关更多详细信息,请参阅https://kubernetes.io/docs/admin/garbage-collection/