【Kubernetes】Ubuntu 24.04 安装 Kubernetes 1.30.14

欢迎来到这份超详细的文档!这里将引导你在 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" 命令加入主节点即可
相关推荐
小坏讲微服务6 小时前
Spring Cloud Alibaba 微服务整合自定义日志注解完整教程
java·spring cloud·微服务·云原生·架构
拾忆,想起6 小时前
Dubbo服务注册与发现深度解析:微服务架构的“通讯录”与“导航系统”
微服务·云原生·性能优化·架构·dubbo·safari
听风吟丶7 小时前
云原生智能告警与故障自愈实战:从被动响应到主动运维
运维·云原生
是Yu欸7 小时前
②【openFuyao】融合云原生与高性能计算
云原生·云计算·高性能计算·openfuyao
Gold Steps.7 小时前
K8S云原生部署Harbor镜像仓库与镜像漏扫Trivy的使用
云原生·容器·kubernetes
java_logo7 小时前
Apache RocketMQ Docker 容器化部署指南
运维·docker·容器·kafka·kubernetes·apache·rocketmq
by__csdn7 小时前
第二章 (.NET Core环境搭建)第三节( Visual Studio for Mac)
ide·kubernetes·c#·asp.net·.net·.netcore·visual studio
麻辣兔变形记18 小时前
深入理解微服务下的 Saga 模式——以电商下单为例
微服务·云原生·架构
菜萝卜子19 小时前
Kubernetes metrics-server 部署与全场景使用指南
云原生·容器·kubernetes