本次集群部署采用的容器技术是containerd
系统版本:CentOs7.6
k8s版本:v1.30.1
containerd版本:ctr containerd.io v1.7.17
一、节点配置
192.168.2.63 k8s-master01
192.168.2.64 k8s-node01
192.168.2.65 k8s-node02
192.168.2.67 k8s-node03
二、 系统初始化(所有节点执行)
2.1 关闭防火墙
systemctl disable firewalld --now
2.2 关闭selinux
setenforce 0 #临时关闭
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config #永久关闭
2.3 配置时间同步
yum install ntpdate -y
ntpdate time1.aliyun.com
2.4 关闭swap分区
swapoff -a # free -m 可查看swap分区配置
sed -i ‘s/[#].* swap .*/#&/’ /etc/fstab
2.5 设置主机名和hosts解析
cat >> /etc/hosts << EOF
192.168.2.63 k8s-master01
192.168.2.64 k8s-node01
192.168.2.65 k8s-node02
192.168.2.67 k8s-node03
EOF
hostnamectl set-hostname k8s-master01 # 3个节点分别设置对应的主机名
ip a|egrep -o ‘192.168.2.[1-9]{2,3}’|head -n1 |xargs -i grep {} /etc/hosts|awk ‘{print $2}’| xargs hostnamectl set-hostname
2.6 内核模块设置
#开机自动加载模块
tee /etc/modules-load.d/k8s.conf <<EOF
overlay
br_netfilter
EOF
立即加载模块
modprobe overlay
modprobe br_netfilter
设置 sysctl 参数,在重新启动后生效
tee /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
立即应用 sysctl 参数而不重新启动
sysctl --system
2.7 安装容器运行时containerd
containerd最新版(2024-06-03)下载地址https://github.com/containerd/containerd/releases/download/v1.7.17/containerd-1.7.17-linux-amd64.tar.gz
#安装基础运行时runc
wget https://github.com/opencontainers/runc/releases/download/v1.1.12/runc.amd64
install -m 755 runc.amd64 /usr/local/sbin/runc
#解压缩
tar zxf containerd-1.7.17-linux-amd64.tar.gz -C /usr/local/
生成默认配置
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
sed -ri '/sandbox_image/s#".*"#"registry.aliyuncs.com/google_containers/pause:3.9"#' /etc/containerd/config.toml
添加启动文件
wget -P /usr/lib/systemd/system https://raw.githubusercontent.com/containerd/containerd/main/containerd.service
systemctl enable --now containerd
三、 安装 kubeadm、kubelet 和 kubectl(所有节点执行)
3.1、添加阿里kubernetes源
[root@ops-test-01 ~]# cat >/etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/repodata/repomd.xml.key
EOF