安装Kubernetes
安装方式一(推荐):
参考Kubernetes官网进行安装。
- 安装Kubernetes的kubectl、kubeadm和kubelet工具。
- 支持Kubernetes的版本为1.16.x~1.25.x,推荐使用1.19.x及以上版本。
- 所有节点都需要安装kubeadm和kubelet,管理节点只需安装kubectl。
- 使用kubeadm工具创建Kubernetes集群,安装kubeadm和创建kubernetes集群请参见Kubernetes官网中的使用Kubeadm创建集群章节。
集群初始化过程如遇到问题,请参见《MindX DL 集群调度安装指南》的“参考 > FAQ > 安装时出现的故障 > 初始化kubernetes失败”章节。
安装方式二:
参考阿里镜像源安装Kubernetes,以下操作均在管理节点进行。当前MindIE仅支持ARM架构,请用户选择架构为ARM的软件版本。
- 获取Kubernetes的kubectl、kubeadm和kubelet软件包,以v1.25版本为例。
- 单击阿里Kubernetes镜像官网。
- 在阿里Kubernetes镜像官网单击“简介”中“新版下载地址”后方的链接,然后进入/core/stable/v1.25/rpm/aarch64目录获取kubectl、kubeadm和kubelet的安装包。
- 参考阿里Kubernetes镜像官网首页进行安装Kubernetes的kubectl、kubeadm和kubelet工具。
- 执行以下命令查询部署Kubernetes需要的依赖和镜像,如图1所示。
kubeadm config images list
图1 所需依赖及镜像查询结果
根据查询结果,用户需自行通过docker pull的方式依次进行安装,示例命令如下所示。
docker pull k8s.gcr.io/kube-apiserver:v1.23.0
- 使用以下命令初始化Kubernetes集群,当出现如图2所示回显时,表示初始化成功。
kubeadm init
图2 Kubernetes集群初始化成功

然后执行图2中的内容,如下所示:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 执行以下命令查看当前默认启动项状态是否正常,如图3所示,状态为Running即为正常。
kubectl get pods -A
图3 查看状态
重置Kubernetes设置
执行以下命令可以重置Kubernetes设置,回显如图4所示则表示重置成功。
kubeadm reset
图4 重置成功
重置成功后,用户需手动删除{$HOME}/.kube/config文件,确保Kubernetes的配置全部删除。
Kubernetes集群增加计算节点
整个集群仅使用一台服务器的情况下,用户无需新增计算节点,可略过下面步骤
待新增节点需满足以下要求:
已安装Kubernetes基本软件kubeadm和kubelet。
- 在管理节点上创建一个新增节点加入集群所需的token和ca-cert码。
token和ca-cert码的有效期为24小时,如果已过期,请使用以下命令创建。
- 由于上述命令包含明文token,执行后可通过历史操作查询方式显示,导致敏感信息暴露,建议用户采用以下方式进行设置。
- 在执行敏感命令前执行以下命令临时禁用历史操作查询功能。
set +o history
- 完成敏感命令操作后执行以下命令恢复历史查询功能。
set -o history
- 在新节点上执行以下命令加入集群。
kubeadm join ip:port --token {token} \
-discovery-token-ca-cert-hash sha256:{ca-cert码}
参数解释:
- ip:port:管理节点上Kubernetes的IP和端口。
- --token:节点加入的令牌。
- -discovery-token-ca-cert-hash:加入集群的证书哈希值。
- 在新节点上使用以下命令查询当前节点主机名称。
hostname
如节点主机名和集群中其他节点名称冲突,修改/etc/hostname文件更改节点的主机名。
- 在管理节点上使用以下命令kubectl get nodes -A查看节点信息,如图5所示,localhost.localdomain即为新增节点。
图5 新增节点
- 在管理节点上使用以下命令根据实际的NPU设备类型为新增节点打上accelerator=huawei-Ascend910或者accelerator=huawei-Ascend310x标签。
#kubectl label nodes {节点名称} accelerator=huawei-Ascend910
kubectl label nodes localhost.localdomain accelerator=huawei-Ascend910
- 在管理节点上使用以下命令查看为新增节点附的accelerator=huawei-Ascend910标签,有“accelerator=huawei-Ascend910”则表示成功。
kubectl get nodes --show-labels