十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Kubernetes】使用 kubeadm 分步构建 K8s 控制面

【Kubernetes】使用 kubeadm 分步构建 K8s 控制面 在 Kubernetes 集群的部署实践中kubeadm init往往是我们的起点。一条长命令敲下去几分钟后一个崭新的控制面就运行起来了。当初始化卡在wait-control-plane或是证书意外过期时这种方式就会让排错变得困难。本文将带你跳出单条命令的束缚通过分步执行kubeadm init phase像调试程序一样去拆解和掌控集群的初始化流程。1、长命令初始化# 长命令初始化 kubeadm init --apiserver-advertise-address192.168.140.130 --image-repositoryregistry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-versionv1.34.3 --service-cidr10.96.0.0/16 --pod-network-cidr10.244.0.0/16 # 参数介绍 ## --apiserver-advertise-addressAPI Server 对外暴露的 IP ## --image-repository拉镜像的前缀 ## --kubernetes-version明确锁定版本 ## --service-cidrService 的 VIP 网段kube-proxy / kube-apiserver 用 ## --pod-network-cidrPod 网段CNI 插件必须匹配2、命令行参数转换为 YAML 文件# 命令行参数 kubeadm init \ --apiserver-advertise-address192.168.140.130 \ --image-repositoryregistry.cn-hangzhou.aliyuncs.com/google_containers \ --kubernetes-versionv1.34.3 \ --service-cidr10.96.0.0/16 \ --pod-network-cidr10.244.0.0/16 # YAML 文件 ## 生成默认配置文件 kubeadm config print init-defaults kubeadm-init.yaml ## 进行参数修改具体见截图3、分步初始化# 1) 跑预检 sudo kubeadm init phase preflight --configkubeadm-init.yaml # 2) 生成证书 sudo kubeadm init phase certs all --configkubeadm-init.yaml # 3) 生成 kubeconfig sudo kubeadm init phase kubeconfig all --configkubeadm-init.yaml # 4) 写 etcd / 控制面 静态 Pod 清单 sudo kubeadm init phase etcd local --configkubeadm-init.yaml sudo kubeadm init phase control-plane all --configkubeadm-init.yaml # 5) 启动 kubelet 并等控制面起来 sudo kubeadm init phase kubelet-start --configkubeadm-init.yaml sudo kubeadm init phase wait-control-plane # 6) 后续收尾 sudo kubeadm init phase upload-config all --configkubeadm-init.yaml sudo kubeadm init phase mark-control-plane --configkubeadm-init.yaml sudo kubeadm init phase bootstrap-token --configkubeadm-init.yaml sudo kubeadm init phase kubelet-finalize all --configkubeadm-init.yaml sudo kubeadm init phase addon all --configkubeadm-init.yaml # 7)配置 kubectl 命令 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
返回列表