【Kubernetes-1.30】--containerd部署
文章目录
- 一、环境准备
- 1.1 三台服务器
- 1.2 基础配置(三台机通用)
- 1.3 关闭 Swap(必须)
- 1.4 关闭防火墙(可选)
- 1.5 加载必要模块 & 配置内核参数
- 二、安装容器运行时(containerd 推荐)
- 三、安装 Kubernetes 组件
- 3.1 添加 apt 源
- 3.2 安装 Kubernetes v1.30
- 四、初始化 Master 节点(只在 master 上操作)
- 配置 kubectl 使用
- 五、安装网络插件(使用 Flannel 示例)
- 六、加入 Worker 节点(在 worker1、worker2 上操作)
- 七、验证集群状态(master 上执行)
Ubuntu 22.04 上部署 Kubernetes 1.30 集群的完整步骤(1 个 Master + 2 个 Worker):
一、环境准备
1.1 三台服务器
主机名 | IP地址 | 角色 |
---|---|---|
master | 192.168.1.10 | 控制节点 |
worker1 | 192.168.1.11 | 工作节点 |
worker2 | 192.168.1.12 | 工作节点 |
1.2 基础配置(三台机通用)
sudo hostnamectl set-hostname <主机名> # 分别设置为 master、worker1、worker2# 修改 hosts 文件
sudo vim /etc/hosts
# 添加以下内容
192.168.1.10 master
192.168.1.11 worker1
192.168.1.12 worker2
1.3 关闭 Swap(必须)
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
1.4 关闭防火墙(可选)
sudo systemctl disable --now ufw
1.5 加载必要模块 & 配置内核参数
# 加载模块
sudo modprobe overlay
sudo modprobe br_netfilter# 配置内核参数
cat <<EOF | sudo tee /etc/sysctl.d/kubernetes.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOFsudo sysctl --system
二、安装容器运行时(containerd 推荐)
# 安装依赖
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release# 安装 containerd
sudo apt install -y containerd# 配置默认文件
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml# 修改 Cgroup Driver 为 systemd
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml# 重启服务
sudo systemctl restart containerd
sudo systemctl enable containerd
三、安装 Kubernetes 组件
3.1 添加 apt 源
sudo curl -fsSLo /etc/apt/keyrings/kubernetes-apt-key.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpgecho "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-key.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" \| sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt update
国内建议换成阿里
旧源:deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
最高支持到1.28
apt-cache madison kubeadm
# 添加阿里云镜像源
echo "deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main" | \sudo tee /etc/apt/sources.list.d/kubernetes.list# 添加 GPG key
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | \sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-aliyun.gpg# 更新源
sudo apt update
或者
新源:https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/
sudo rm -f /etc/apt/sources.list.d/kubernetes.list
sudo rm -f /etc/apt/trusted.gpg.d/kubernetes-aliyun.gpg
curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/Release.key | \gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpgecho "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] \
https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/ /" | \
sudo tee /etc/apt/sources.list.d/kubernetes.list
3.2 安装 Kubernetes v1.30
sudo apt install -y kubelet=1.30.0-00 kubeadm=1.30.0-00 kubectl=1.30.0-00
sudo apt-mark hold kubelet kubeadm kubectl
四、初始化 Master 节点(只在 master 上操作)
# 使用默认的 containerd 和 flannel 的 pod 网段 10.244.0.0/16
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
完成后,保存输出中的 kubeadm join
命令(稍后 worker 节点使用)。
配置 kubectl 使用
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
五、安装网络插件(使用 Flannel 示例)
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
六、加入 Worker 节点(在 worker1、worker2 上操作)
使用 master 初始化时输出的命令,如:
sudo kubeadm join 192.168.1.10:6443 --token <token> \--discovery-token-ca-cert-hash sha256:<hash>
七、验证集群状态(master 上执行)
kubectl get nodes
应该能看到三台机器都处于 Ready
状态。