---
title: master节点操作
description: "在master节点上初始化集群。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/armnative15/kunpengcpsvideo_20_0080.html
sourcePath: /source/zh/kunpengboostkithistory/2530/armnative15/kunpengcpsvideo_20_0080.html
indexId: e0ba7087835baeab968843188657d8c828197b22daf01bc800afab74b09398e079
---
# master节点操作

在master节点上初始化集群。

1. 下载必备镜像。
  1 kubeadm config images pull

  此过程若无报错则下载成功。

  国内网络环境需要配置镜像仓，例如： 1 kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers

2. 修改containerd镜像配置，根据拉取的镜像中pause的版本更改config.toml的配置，查看pause镜像版本
  1 crictl images

  图1 镜像拉取信息

  以图1 镜像拉取信息中registry.aliyuncs.com/google_containers/pause:3.9为例： 1 sed -i 's|sandbox_image =.*|sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"|g' /etc/containerd/config.toml

3. 重启Containerd。
  1 systemctl restart containerd


4. 集群初始化。
  1 kubeadm init --pod-network-cidr=10.244.0.0/16

  初始化成功后有如图2 集群初始化成功打印信息所示信息打印。

  如果在下载镜像时配置了镜像仓，集群初始化也需要配置相同镜像仓，例如： 1 kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers

  图2 集群初始化成功打印信息

  需执行在图2 集群初始化成功打印信息中黄框信息命令配置集群，红框信息表示工作节点加入集群的token命令，请保存该段命令。

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

  当在master节点上集群初始化失败后，需按照提示查找原因并进行重置，重置后重新执行初始化命令。重置命令如下。 1 2 3 4 5 6 7 8 9 kubeadm reset systemctl stop kubelet rm -rf /var/lib/cni/ rm -rf /var/lib/kubelet/* rm -rf /etc/cni/ ifconfig cni0 down ifconfig flannel.1 down ip link delete cni0 ip link delete flannel.1

5. 启动kube-flannel网络插件。
  请参见视频流引擎获取DemoVideoEngine.tar.gz软件包，获取后将软件包上传至服务器的“/home/k8s”目录。 1 2 3 4 cd /home/k8s tar -xvf DemoVideoEngine.tar.gz cd /home/k8s/k8s/script kubectl apply -f kube-flannel.yml

6. 查看集群状态。

  a. 查看当前节点的状态。
    1 kubectl get nodes -A -o wide

    期望是此master节点的状态（STATUS）列是Ready，运行时（CONTAINER-RUNTIME）列是containerd://x.x.x。

  b. 查看pod状态。
    1 kubectl get pod -A -o wide

    期望是所有的pod的状态（STATUS）列都是Running。

若查看当前节点的状态（STATUS）列是NotReady，及查看kubelet服务状态（systemctl status kubelet）时有明显报错（Network plugin returns error: cni plugin not initialized），此情况建议将集群重置并将服务器重启后重新初始化。
