kubernetes - 如何在 kubernates pod 中添加交换内存?
问题描述
我需要在 kubernates pod 中添加交换内存。因此,如果任何 pod 超出可用 RAM,则它可以使用硬盘中的交换内存。在 kubernates 中这可能吗?
解决方案
交换禁用。您必须禁用交换才能使 kubelet 正常工作。
您应该使用 cpu/memory 限制进行部署。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
但请记住,这不是推荐的方式。
推荐阅读
- azure - Azure 数据工厂 Rest API 分页问题
- bazel - Bazel 编译有很多不同的目标,哪些是坏的?
- postgresql - 我正在尝试使用 lpad SQL 函数,但它抛出 lpad(text) 不存在
- java - Java 打印值列表
- windows - Doom Emacs 在 Windows 10 上启动缓慢并闪烁
- swift - 添加 APNSSwift 依赖项。但它不工作
- php - 如何避免在 Symfony Messenger 中处理来自“子”类的消息?
- python - noobie 遍历列表以显示系列
- json - 使用 JSON Parser 提取 JSON 属性 - Coin Market Cap API
- flutter - 如何在 Flutter 上更改 TextPainter?