欢迎来到这份超详细的文档!这里将引导你在 Ubuntu 24.04 上轻松部署 Kubernetes 1.30.1,希望通过这份指南,让你的 Kubernetes 之旅充满乐趣与收获,快来一起探索吧!
- 操作系统:Ubuntu 24.04.2 LTS
- Containerd:1.6.33
- Kubernetes:1.30.14
- 下方仅一个主节点为例(其中主节点 hostname 为 master,可根据实际情况修改)
1、安装 k8s 前的准备工作
1.1、查看操作系统版本
bash
# 查看操作系统版本
cat /etc/os-release

1.2、关闭防火墙
bash
# 关闭 ufw
ufw disable
# 查看为关闭状态
ufw status

1.3、关闭 swap 分区
bash
# 查看 swap 分区是否存在
free -h
# 关闭当前会话的 swap,重启后无效
swapoff -a
# 永久关闭 swap ,需重启
sed -ri 's/.*swap.*/#&/' /etc/fstab
# 查看 swap 分区已关闭
free -h

1.4、配置内核
bash
# 加载内核模块
modprobe overlay
modprobe br_netfilter
# 配置 sysctl 参数
cat <<EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# 应用配置
sysctl --system

2、安装 containerd
2.1、配置 docker 源安装
bash
# 安装必要系统工具
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
# 信任 Docker 的 GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 写入软件源信息
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 containerd.io=1.6.33-1(可根据需要安装指定版本)
apt-get update
apt install -y containerd.io=1.6.33-1


2.2、配置 containerd 文件
bash
# 创建 containerd 配置文件
mkdir -p /etc/containerd
containerd config default | tee /etc/containerd/config.toml
# 修改配置使用 systemd cgroup
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
# 替换为阿里云的镜像地址
sed -i "s#registry.k8s.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g" /etc/containerd/config.toml
# 重启 containerd
systemctl restart containerd
systemctl enable containerd
systemctl status containerd


3. 安装 Kubernetes
3.1、配置阿里云仓库进行安装
bash
# 添加 Kubernetes 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 仓库
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list
# 安装 kubelet、kubeadm、kubectl
apt-get update
apt-get install -y kubelet kubeadm kubectl


3.2、查看/下载所需的镜像
bash
# 查看/下载所需的镜像
kubeadm config images list --kubernetes-version=v1.30.14 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers
kubeadm config images pull --kubernetes-version=v1.30.14 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers

3.3、初始化 master 节点
bash
kubeadm init --apiserver-advertise-address=172.16.12.201 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version=v1.30.14 --service-cidr=10.96.0.0/16 --pod-network-cidr=10.244.0.0/16
# 根据日志信息提示操作,执行下方命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf



3.4、部署 Calico 网络插件
bash
# 安装 Calico
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/calico.yaml

3.5、查看节点状态变为 Ready
bash
# 查看所有命名空间的 pod
kubectl get pod -A
# 查看所有节点
kubectl get node
# 允许在 Master 节点上调度 Pod(可选)
kubectl taint nodes --all node-role.kubernetes.io/control-plane-

3.6、工作节点
- 工作节点部署同主节点类似,步骤 3.2 及以后无需执行,使用 "kubeadm join xxx" 命令加入主节点即可