环境准备
- 主节点(Master Node):
- IP地址: 192.168.40.100
- 主机名: k8s-master
- 工作节点(Worker Node):
- IP地址: 192.168.40.101
- 主机名: k8s-node1
步骤 1: 配置虚拟机环境
1.1 设置主机名
在每台虚拟机上设置唯一的主机名:
#在主节点上执行
sudo hostnamectl set-hostname k8s-master
# 在工作节点上执行
sudo hostnamectl set-hostname k8s-node1
1.2 配置hosts文件
编辑/etc/hosts文件,添加所有节点的IP地址和主机名映射:
sudo vi /etc/hosts
添加如下内容:
192.168.40.100 k8s-master
192.168.40.101 k8s-node1
1.3 更新系统并安装依赖
sudo yum update -y
sudo yum install -y curl vim wget git
1.4 关闭防火墙和 SELinux
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
1.5 禁用交换分区(Kubernetes 要求)
sudo swapoff -a
sudo sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
1.6 配置网络转发和桥接
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
步骤 2: 安装Containerd
2.1 安装Containerd
下载并安装Containerd:
# 下载 Containerd
wget https://github.com/containerd/containerd/releases/download/v1.7.0/containerd-1.7.0-linux-amd64.tar.gz
# 解压文件
sudo tar Cxzvf /usr/local containerd-1.7.0-linux-amd64.tar.gz
# 创建 systemd 服务文件
sudo mkdir -p /usr/local/lib/systemd/system
sudo curl -o /usr/local/lib/systemd/system/containerd.service https://raw.githubusercontent.com/containerd/containerd/main/containerd.service
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启动并启用 Containerd
sudo systemctl enable containerd
sudo systemctl start containerd
containerd --version
2.2 配置 Containerd