入门

安装kubernetes-UnionTechOS篇

本文档所需文件均可在百度网盘中下载: https://pan.baidu.com/s/1lWLyyT1jAbADGuxEG3m4gA
提取码:ge4d

说明:支持鲲鹏、飞腾、海光、兆芯处理器,分别对应于包名中含“kunpeng”、“phytium”、“hygon”的安装包(海光与兆芯处理器均使用包名含“hygon”的安装包)。下面以适配鲲鹏处理器的安装操作为例。

安装包准备

网盘路径:iManager部署包/软件工具包/Kubernetes离线安装包/kubernetes-1.20.0-uniontechos-server-1021d-kunpeng-arm64-deploy.zip

环境要求

  • 在安装系统时,除了swap分区外,其他分区的文件系统一律选择ext4类型,设备类型默认选LVM;要求根(/)分区占据磁盘总量90%以上。
  • 规格:

    • 处理器数量:4 核+
    • 内存:8 GB+(规格越大性能越好)

Kubernetes master节点安装步骤

在本机解压Kubernetes-1.20.0-uniontechos-server-1021d-kunpeng-arm64-deploy.zip,将解压后目录里的offline-Kubernetes-1.20.0-uniontechos-server.tar.gz拷贝到要安装Kubernetes的机器任意目录,再执行以下操作(以实际的包名为准):

解压:

tar -zxvf offline-kubernetes-1.20.0-uniontechos-server.tar.gz

进入解压后的目录:

cd offline-kubernetes-1.20.0-uniontechos-server

root用户下,执行安装脚本:

chmod +x install.sh && ./install.sh master

注意:
多网卡情况下需要通过参数( ‐‐apiserver-advertise-address )指定 kubernetes 使用哪块网卡。<ip>为希望使用的网卡对应的 ip。例如: 指定172.16.16.9所在网卡,使用以下指令

chmod +x install.sh && ./install.sh --apiserver-advertise-address 172.16.16.9

复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行,并确保指令中所有字符都为英文字符

如下图所示安装成功。

install_finished

安装完成之后,启动服务需经历一段时间,请您稍作等待。服务启动后访问 http://<ip>:31234 即可看到 kubernetes 的 dashboard 界面。

单个master节点也可以直接使用,后期随着业务需求增大,可以随时添加node节点。

安装Kubernetes node节点(可选)

若要安装Kubernetes node节点,需重新选择一台机器,node节点不可与master节点在同一台机器上。

首先在需要加入kubernetes集群的node节点上执行下面命令,设置node节点的名称,如果有多个节点可以按照node1, node2, node3 … 设置,节点名称不能相同,节点名称可以通过hostname命令查看

#修改节点名称,防止多个节点重名
hostnamectl set-hostname node1

拷贝offline-kubernetes-1.20.0-uniontechos-server.tar.gz离线安装包到node机器任意目录。

解压:

tar -zxvf offline-kubernetes-1.20.0-uniontechos-server.tar.gz

进入解压后的目录:

cd offline-kubernetes-1.20.0-uniontechos-server

kubernetes master节点上执行以下命令获取token:

kubeadm token list

root用户下,执行安装脚本:

chmod +x install.sh && ./install.sh join <master-ip>:6443 --token <kubernetes-token>

参数说明:
<master-ip>为 master 节点的 ip;
<kubernetes-token>为上一步获取的token。 

注意:
多网卡情况下可以按照安装master节点时的参数进行网卡指定。例如: 指定172.16.16.10所在网卡,使用以下指令

chmod +x install.sh && ./install.sh join <master-ip>:6443 --token <kubernetes-token> --apiserver-advertise-address 172.16.16.10

复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行,并确保指令中所有字符都为英文字符

加入集群成功后,在kubernetes master节点使用下面命令查看

kubectl get nodes

常见问题解答

  1. 如果在master节点上获取token的命令没有显示 token,可以在master节点上使用下面命令创建

    kubeadm token create
  2. 如果在安装node节点时报如下错误,说明token过期,需要master节点上使用kubeadm token create命令重新创建一个token来使用。

    报错信息如下:

    couldn’t validate the identify of the API server: abort connection to API server after timeout of 5m0s

  3. 如果Kubernetes node节点出现故障,需要从Kubernetes集群中移除该节点,请在master节点上执行以下命令:

    kubectl delete node <nodeName>
    
    参数说明:
    <nodeName>是即将移除kubernetes集群的节点名称。
  4. 移除的节点如何重置,请在节点上执行以下命令:

    kubeadm reset
  5. 如果要将移除后的节点再次加入Kubernetes集群,请在加入集群的节点上执行以下命令:

    kubeadm join <master-ip>:6443 --token <kubernetes-token> --discovery-token-unsafe-skip-ca-verification
    
    参数说明:
    <master-ip>为master节点的ip;
    <kubernetes-token>为在master节点上通过"kubeadm token list"查看获取的token。

    注意:
    多网卡情况下可以按照安装master节点时的参数进行指定网卡 复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行,并确保指令中所有字符都为英文字符

  6. 如果要卸载Kubernetes,请在各个节点的安装包目录执行以下命令:

    chmod +x install.sh && ./install.sh down