k8s笔记17--ubuntu & k8s 开启 swap功能

k8s笔记17--k8s 中途开启 swap功能

  • 1 介绍
  • 2 方法
    • 2.1 ubuntu 开启swap
    • 2.2 k8s 开启swap
  • 3 说明

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/

你可能感兴趣的:(K8S,&,Docker,Linux基础操作及使用技巧,ubuntu,kubernetes,swap交换分区,fail-swap-on)