CKA [Installation] – Ubuntu使用Kubeadm安装Worker Node

首先必须安装好Master Node 否则这个教程就无法继续了。

Kubernetes安装Master Node: https://www.pangzai.win/cka-installation-ubuntu%e5%ae%89%e8%a3%85master-node/

✅ 安装Containerd

1. 执行以下的命令

这里把 overlay 和 br_netfilter 两个 kernel 模块加入开机自动加载。

  • overlay 是 overlayfs,用于文件系统层面的镜像层合并等操作。
  • br_netfilter 让 Linux 可桥接(bridge)网络流量时也能被 netfilter(iptables / iptables‑mangle / iptables‑nat)拦截或处理
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter

2. 调整Linux Kernel

写入 sysctl 配置以启用下面这些设置:

  • bridge-nf-call-iptables = 1:使桥接网络的流量也能通过 iptables 规则
  • ip_forward = 1:启用 IPv4 的转发(必要于 cluster 跨主机通信等)
  • bridge-nf-call-ip6tables = 1:IPv6 桥接时也参与 ip6tables

sysctl --system 让这些配置生效

cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
sysctl --system


3. 安装 containerd 包 , 创建配置目录, 然后再生成默认配置文件到 /etc/containerd/config.toml

apt-get install -y containerd
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

4. 更改config.toml , 把当中的SystemdCgroup从false改成true

nano /etc/containerd/config.toml

【把这个改成true】
SystemdCgroup = true

5. 重启containerd

systemctl restart containerd

6. 检查containerd状态

systemctl status containerd

✅ 更改Linux Kernel

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
  • 虽然上一步里也设置了一些类似参数,但这里再确保这些桥接相关的 sysctl 生效
  • 相当是一个补充/冗余的配置以确保网络包处理能正确工作

✅ 配置仓库 & 安装 Kubernetes 组件 & 连接到Master Node

1. 更新 apt 包缓存 , 安装 https 支持、证书、curl、gpg 等基础工具

sudo apt-get update
apt-get install -y apt-transport-https ca-certificates curl gpg

2. 导入 Kubernetes 仓库的 GPG key,并添加 apt 源

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.34/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.34/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update

3. 查看该版本支持哪些版本(用于确认可安装版本)

apt-cache madison kubeadm

4. 安装Kubernetes组件

sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

5. 启用并启动 kubelet 服务(kubelet 是节点上运行的核心组件)

sudo systemctl enable --now kubelet

6. 使用Kubeadm 把WorkerNode 连接到MasterNode

kubeadm join 52.0.5.189:6443 --token 7eukmb.dswebszedxy46qaz \
        --discovery-token-ca-cert-hash sha256:0c93f8c87af32d91f90bb4105a59c6806fa08aabd34aad11a0532dcb274adcac 

7. 在MasterNode 查看新添加的WorkerNode

kubectl get nodes

Loading

Facebook评论