我在AWS上与Kubernetes一起玩t2。中型EC2实例有20 on的磁盘空间,几天后其中一个节点就用完了磁盘空间。这似乎是由Docker图像和日志的组合造成的。
据我所读,Kubernetes有自己的Docker来管理Docker的磁盘使用和日志旋转。我猜20‘m还不足以让Kubernetes自己管理磁盘的使用。生产环境的安全磁盘大小是多少?
发布于 2017-01-29 08:48:19
按照快速启动指南中描述的使用GKE进行标准安装时,最终将得到3xN1-标准-1节点(参见机器类型),每个节点的存储容量为100 GB。
查看集群创建后的节点,然后给出磁盘空间的数字:
$ 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
这些数字可能会给您一个起点,但正如其他人已经指出的,其余的取决于您的具体需求。
发布于 2017-01-29 08:12:10
我认为没有一般的答案。您已经回答了自己-您需要足够的空间码头形象,集装箱和原木。多少--这取决于所使用的图像数量、运行的容器、生成的日志数量和要保存的日志数量。
基于Kubernetes的应用程序不应该在pod卷上创建日志文件。日志应该转到共享卷(pod外部)或日志管理数据库(如elasticSearch、graylog )。在集群生存期内,将多次创建和删除豆荚。安装在吊舱卷上的日志文件将在吊舱消失后消失。最有可能的是,你希望你的日志能活得更长。
从实验中你已经做了,你应该知道这些数字,并能够估计你的需要的使用。
有关更多详细信息,请参阅https://kubernetes.io/docs/admin/garbage-collection/。
发布于 2020-08-04 00:49:44
我发现,如果我真的需要这样做的话,我可以用5G来“过日子”,比如测试K8s的可伸缩性等等。有趣的是,在两个不同的平台上,我通常看到:
这是您正在运行的高度可变的wrt容器、不同映像的数量等等,但是通常情况下,Kubelet本身会旋转日志,并且最终不需要大量的磁盘空间。如果您在这里查看:https://github.com/kubernetes/kubernetes/pull/59898,您可以看到关于最大日志大小/范围的初始实现的逻辑。如果您确实需要节省磁盘空间,可以将Kubelet本身发送到不同的选项,以使日志旋转更加严格。
因此,一般来说,在运行了几周的集群之后,您就可以继续使用稳定的状态大小了。
确保检查您的CRI配置是否有图像被回收,以防你不时使用许多新的图像。
https://stackoverflow.com/questions/41918662
复制相似问题