如何在 kubernetes pod 中添加交换内存?

ala*_*blk 7 memory kubernetes

我需要在 kubernates pod 中添加交换内存。这样,如果任何 Pod 超出可用 RAM,则它可以使用硬盘中的交换内存。这在 kubernates 中可能吗?

OhH*_*ark 3

官方Kubernetes 先决条件指出:

交换禁用。您必须禁用交换才能使 kubelet 正常工作。

您应该使用 cpu/内存限制进行部署。Kubelet 并不是为处理交换情况而设计的。如果允许在主机系统上发生内存交换,则可能会导致 Kubernetes 内出现性能和稳定性问题。

但是,有一种方法可以在安装时禁用交换kubeadm

  • /etc/systemd/system/kubelet.service.d/20-allow-swap.conf创建一个包含以下内容的文件:

[Service] Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false"

  • 执行:

sudo systemctl daemon-reload

  • kubeadm带标志运行--ignore-preflight-errors=Swap

kubeadm init --ignore-preflight-errors=Swap

但请记住,这不是推荐的方法。