Ubuntu24.04部署k8s集群 - 部署集群
Pluto Lv2

安装 kubeadm,kubelet,kubectl

按照安装 kubeadm | Kubernetes安装即可:

更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包

1
2
3
sudo apt-get update
# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg

下载用于 Kubernetes 软件包仓库的公共签名密钥

1
2
3
# 如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它,请阅读下面的注释。
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

添加 Kubernetes apt 仓库

1
2
# 此操作会覆盖 /etc/apt/sources.list.d/kubernetes.list 中现存的所有配置。
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本

1
2
3
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

我按照 k8s 时最新版本就为 1.33.3,如有需要请手动指定版本。

开机启动 k8s 服务

1
2
systemctl enable kubelet
kubelet --version

以下操作,只在控制平面节点上进行。

初始化 Master 节点

在控制平面节点执行以下命令:

1
2
3
4
5
6
kubeadm init \
--apiserver-advertise-address=192.168.88.136 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.33.3 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16

执行命令后耐心等待,直到安装完成,会出现以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.88.136:6443 --token u6frrv.iu6p9mj9zf2xl719 \
--discovery-token-ca-cert-hash sha256:4f3e71a708035ec7d1d14b6adbd30b0c09b87b2a88d3cbdbab01d1c1d700b81b

其中说明,需要在控制平面节点执行以下命令:

1
2
3
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

如果当前以 root 身份登录,也可只执行以下命令来代替:

1
2
3
export KUBECONFIG=/etc/kubernetes/admin.conf
# 或者
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bashrc

在返回结果的最后一条,有如下命令:

1
2
kubeadm join 192.168.88.136:6443 --token xxxxxx \
--discovery-token-ca-cert-hash sha256:xxxxxx

这个是用来加入作业节点的,需要在作业节点上执行。

以下操作,只在作业节点上进行。

加入集群

在作业节点上执行上文提到的代码:

1
2
kubeadm join 192.168.88.136:6443 --token fj3f2y.23zukrabu7mfx83i \
--discovery-token-ca-cert-hash sha256:b3448376cb287b51a1878c8c385bae31fcb4eebd0b0b02b97f9c6ce911239a11

安装 k8s 网络插件

以下操作,只在控制平面节点上进行。

1
2
# 下载 Calico 插件部署文件
wget https://docs.projectcalico.org/manifests/calico.yaml

修改calico.yaml文件中的CALICO_IPV4POOL_CIDR参数,需要与前面kubeadm init命令中的-–pod-network-cidr参数一样10.244.0.0/16

文件内容较多,可使用/CALICO_IPV4POOL_CIDR快速查找。

最后,使用kubectl apply命令将 Calico 插件部署到集群里:

1
kubectl apply -f calico.yaml

Calico 部署会比较慢,大概等个几分钟,等待 Calico 部署完成后,通过命令kubectl get node查看节点状态,就可以看到所有节点已经准备就绪,此时集群正式搭建成功。

1
2
3
4
5
root@k8s-master:/opt/k8s# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane 11m v1.33.3
k8s-node-01 Ready <none> 9m49s v1.33.3
k8s-node-02 Ready <none> 9m47s v1.33.3

重置kubeadm

1
kubeadm reset
  • 本文标题:Ubuntu24.04部署k8s集群 - 部署集群
  • 本文作者:Pluto
  • 创建时间:2025-08-12 17:19:20
  • 本文链接:https://blog.aoaostar.com/post/21d3cc2e/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论