k8s笔记17--ubuntu & k8s 开启 swap功能
k8s笔记17--k8s 中途开启 swap功能1 介绍2 方法2.1 ubuntu 开启swap2.2 k8s 开启swap3 说明1 介绍swap 功能是 linux是一个非常强大的功能,类似于windows的虚拟内存,当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。本文主要介绍如何开启linux系统的swap, 如何在开启swap功能的系统下运行 k8s 集群。
·
k8s笔记17--k8s 中途开启 swap功能
1 介绍
swap 功能是 linux是一个非常强大的功能,类似于windows的虚拟内存,当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
本文主要介绍如何开启linux系统的swap, 如何在开启swap功能的系统下运行 k8s 集群。
2 方法
2.1 ubuntu 开启swap
创建分区文件,其中 count 为分区的大小
sudo mkdir /swap
cd /swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=2000000
sudo mkswap -f swapfile
挂载分区文件:
swapon swapfile
挂载持久化:
编辑/etc/fstab, 添加
/swap/swapfile none swap sw 0 0
卸载分区文件
sudo swapoff swapfile
配置完成后可以通过free -m来查看是否有Swap
2.2 k8s 开启swap
修改 kubelet 的启动文件配置,如下:
cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/default/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS --fail-swap-on=false
在启动命令末尾加上: --fail-swap-on=false ,然后reload配置
systemctl daemon-reload
systemctl start kubelet
配置完成后可以通过ps -ef|grep kubelet 来查看kubelet启动信息,很明显多了一个个swap参数,如下所示:
3 说明
软件环境:
ubuntu 18.04.4 LTS Server
k8s 1.22
参考文档:
Ubuntu下调整SWAP大小
kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/
更多推荐
已为社区贡献44条内容
所有评论(0)