安装和配置Kubernetes
对于需要部署在集群中的物理机,都需要安装Kubernetes组件,用户需自主选择管理节点和计算节点。
安装Kubernetes
安装方式一(推荐):
- 安装Kubernetes,请参考Kubernetes官网进行安装。
- 支持Kubernetes的版本为1.16.x~1.25.x,推荐使用1.19.x及以上版本。
- 所有节点都需要安装Kubernetes。
- 使用kubeadm工具创建Kubernetes集群,安装kubeadm和创建kubernetes集群请参见Kubernetes官网中的使用Kubeadm创建集群章节。
安装方式二:
此安装方式以阿里镜像源为例安装Kubernetes。
- 安装Kubernetes的kubectl、kubeadm和kubelet工具。
请参考阿里Kubernetes镜像官网进行安装,请用户根据实际的系统架构选择对应的安装命令。
- 如果更新源时报“Certificate verification failed: The certificate is NOT trusted”错误,解决方式如下所示。
将1中阿里镜像源设置为HTTP协议即可。
- 如果出现“No match for argument: socat”或者“nothing provides socat needed by xxx”等回显信息,表示环境缺少socat库,解决方式如下所示。(其他库缺失也会有同样的回显,比如eatables、conntrak等)
#以CentOS系统为例 yum install -y socat #以Ubuntu系统为例 apt-get install -y socat
- 如果更新源时报“Certificate verification failed: The certificate is NOT trusted”错误,解决方式如下所示。
- 执行以下命令查询部署Kubernetes需要的依赖和镜像,如图1所示。
kubeadm config images list
根据查询结果,用户需自行通过docker pull的方式依次进行安装,示例命令如下所示。docker pull k8s.gcr.io/kube-apiserver:v1.23.0
- 使用以下命令初始化Kubernetes集群,当出现如图2所示回显时,表示初始化成功。
kubeadm init
然后执行图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
重置Kubernetes设置
执行以下命令可以重置Kubernetes设置,回显如图4所示则表示重置成功。
kubeadm reset

重置成功后,用户需手动删除$HOME/.kube/config文件,确保Kubernetes的配置全部删除。
Kubernetes集群增加节点
待新增节点需满足以下要求:
- 待新增节点已安装Kubernetes基本软件:kubectl、kubeadm和kubelet。
- 已获取3中kubeadm初始化成功后得到的完整指令,如下所示。
kubeadm join ip:port --token token \ -discovery-token-ca-cert-hash sha256:ca-cert码
- 在待新增节点上执行3中kubeadm init初始化成功后的完整指令。
kubeadm join ip:port --token token \ -discovery-token-ca-cert-hash sha256:ca-cert码
- 参数解释:
- ip:port:管理节点上Kubernetes的IP和端口。
- --token:节点加入的令牌。
- -discovery-token-ca-cert-hash:加入集群的证书哈希值。
token和ca-cert码的有效期为24小时,如果已过期,请使用以下命令创建。
- 创建token
kubeadm token create
- 创建ca-cert码
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
- 参数解释:
- 使用以下命令查看节点信息,如图5所示,localhost.localdomain即为新增节点。
- 使用以下命令查询新增节点名称:
hostname
- 使用以下命令修改节点名称:
hostname {新名称}
- 使用以下命令查询新增节点名称:
- 使用以下命令为新增节点附上accelerator=huawei-Ascend910标签。
#kubectl label nodes {节点名称} accelerator=huawei-Ascend910 kubectl label nodes localhost.localdomain accelerator=huawei-Ascend910
- 使用以下命令查看为新增节点附的accelerator=huawei-Ascend910标签,如图 accelerator=huawei-Ascend910标签所示,有accelerator=huawei-Ascend910字样则表示成功。
kubectl get nodes –show-labels
父主题: 环境准备