环境说明
以下是笔者的尝试过的搭建环境:
- Ubuntu 18.04 / Ubuntu 22.04 / CentOS7
- Kubernetes 1.24 ~ 1.26
- docker / containerd
本文介绍 Ubuntu 下的 Kubernetes 安装过程,其他发行版下的安装和问题解决思路类似。
需要注意的是,Kubernetes 在 1.24 版本后删除了 dockershim ,搭建过程中如遇容器运行时、镜像等问题,不能直接参考一些旧版本的基于 docker 的解决方法。
环境准备
无论是 master 还是 worker 节点,都需要完成如下环境的修改与软件安装。
设置静态 IP
-
ifconfig
查看当前 IP 和子网掩码,route -n
查看网关地址 -
进入
/etc/netplan
目录,编辑其中的01-network-manager-all.yaml
文件(不同版本 Ubuntu 的文件名可能不一样),格式形如:network: version: 2 renderer: NetworkManager ethernets: enp1s0: # 网卡名称 dhcp4: no # 关闭dhcp dhcp6: no addresses: [192.168.122.120/24] # 静态IP gateway4: 192.168.122.1 # 网关 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS
-
使配置生效:
sudo netplan apply
-
桌面版可以直接在网络设置的图形化界面设置
系统优化
-
禁用 swap 分区:编辑
/etc/fstab
,将 swap 那行注释掉 -
修改模块配置(安装了 docker 可跳过这步)
# 临时修改(立即生效,重启后失效)
modprobe br_netfilter
echo "1" > /proc/sys/net/ipv4/ip_forward# 永久修改(重启后生效)
# 开机自动加载 br_netfilter 模块
cat > /etc/modules-load.d/k8s.conf