文章目录
- 一、环境准备
- 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
EOF
sudo 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
# 修改containerd的镜像源---让他和kubeadm保持一样的源
sudo sed -i 's|sandbox_image = .*|sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"|' /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.gpg
echo "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.list
sudo 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/
 目前支持到1.3X
sudo rm -f /etc/apt/sources.list.d/kubernetes.list
sudo rm -f /etc/apt/trusted.gpg.d/kubernetes-aliyun.gpg
# 创建 keyrings 目录,用于存放源的签名文件(Ubuntu 22.04 推荐做法)
sudo mkdir -p /etc/apt/keyrings
# 下载阿里云 Kubernetes 1.30 的 GPG 签名文件,并转为 APT 可识别的格式(.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.gpg
# 添加 Kubernetes 1.30 的 APT 软件源到系统源列表
# signed-by= 指定只信任这个源对应的 GPG 密钥,避免信任全局
echo "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
apt update

3.2 安装 Kubernetes v1.30
# 安装 kubelet、kubeadm、kubectl 的 1.30.1 版本
sudo apt install -y kubelet=1.30.1-1.1 kubeadm=1.30.1-1.1 kubectl=1.30.1-1.1
# 锁定版本,防止未来 apt upgrade 时被升级
sudo apt-mark hold kubelet kubeadm kubectl
四、初始化 Master 节点(只在 master 上操作)
(可选)提前拉取 kubeadm 所需镜像(避免初始化失败)
sudo kubeadm config images pull \
  --image-repository=registry.aliyuncs.com/google_containers \
  --kubernetes-version=v1.30.1
# 使用默认的 containerd 和 flannel 的 pod 网段 10.244.0.0/16
# 初始化 kubeadm(将 192.168.121.134 替换为你 master 节点的实际 IP)
sudo kubeadm init \
  --apiserver-advertise-address=192.168.121.134 \
  --image-repository=registry.aliyuncs.com/google_containers \
  --kubernetes-version=1.30.1 \
  --pod-network-cidr=10.244.0.0/16
初始化成功后,会输出一条 kubeadm join … 命令,把它复制保存,用于让 worker1 和 worker2 节点加入集群。
kubeadm join 192.168.121.134:6443 --token rlb4zl.ab1ghdphpyqx3jt4 \
	--discovery-token-ca-cert-hash sha256:6afb88e798521ecb63191de8aa93cb7d573f88cae41cea50086942a2626a5a12
配置 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
等几秒后可以查看是否网络组件准备就绪
kubectl get pods -n kube-system
六、加入 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 状态。
 



![[Java恶补day13] 53. 最大子数组和](https://i-blog.csdnimg.cn/direct/daf659febd1b490eb0bff3ad562b38ac.png)















