首先,在干净的系统上执行如下命令,创建swap文件,并挂载
# 需要root权限
dd if=/dev/zero of=/var/swapfile bs=128M count=32
chmod 600 /var/swapfile
mkswap /var/swapfile
swapon /var/swapfile
swapon -s # 仅在该节点被重新启动后启用该交换内存文件
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
然后根据对应的kubernetes版本选择kubeadm配置文件
配置文件见下面
# kubeadm-config-v1.28.yaml
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: <公网IP>
bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
imageRepository: "registry.aliyuncs.com/google_containers"
networking:
podSubnet: "10.244.0.0/16"
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
failSwapOn: false
featureGates:
NodeSwap: true
memorySwap:
swapBehavior: UnlimitedSwap
# kubeadm-config-v1.30.yaml
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: <公网IP>
bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
imageRepository: "registry.aliyuncs.com/google_containers"
networking:
podSubnet: "10.244.0.0/16"
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
failSwapOn: false
featureGates:
NodeSwap: true
memorySwap:
swapBehavior: LimitedSwap