入门
安装kubernetes-1.20-CentOS篇
本文档所需文件均可在百度网盘中下载:
https://pan.baidu.com/s/1lWLyyT1jAbADGuxEG3m4gA
提取码:ge4d
安装包准备
网盘路径:iManager部署包/软件工具包/Kubernetes离线安装包/kubernetes-1.20.0-centos-7.5-deploy.zip
环境要求
-
使用网盘中提供的ISO安装系统(支持CentOS 7.5、7.6、7.9,安装包同样适用于CentOS 7.6及7.9环境,推荐使用CentOS 7.9。以CentOS 7.5为例)
网盘路径:iManager部署包/软件工具包/OS/OS-ISO/CentOS-7.5-x86_64-Minimal-18.04.iso
- 在安装系统时,除了swap分区外,其他分区的文件系统一律选择ext4类型,设备类型默认选LVM;要求根(/)分区占据磁盘总量90%以上。
-
规格(仅Kubernetes服务):
- 处理器数量:4 核+
- 内存:8 GB+(规格越大性能越好)
单节点(master)安装步骤
正式安装前建议执行下面命令修改主机名,便于识别:
#修改主机名
hostnamectl set-hostname <name>
参数说明:
<name>为要修改的名称;名称中**不要出现master**字样,否则有节点挂掉后,Pod不会自动迁移到该节点
在本机解压Kubernetes-1.20.0-centos-7.5-deploy.zip
,将解压后目录里的kubernetes-1.20.0-centos-7.5-deploy
文件夹拷贝到要安装Kubernetes的机器任意目录,再根据以下命令操作:
进入解压后的目录:
cd kubernetes-1.20.0-centos-7.5-deploy/supermap-kubernetes
root用户下,执行安装脚本:
chmod +x install.sh && ./install.sh master
注意:
多网卡情况下需要通过参数( ‐‐apiserver-advertise-address<ip>
)指定 kubernetes 使用哪块网卡。<ip>
为希望使用的网卡对应的 ip。例如: 指定172.16.16.9所在网卡,使用以下指令chmod +x install.sh && ./install.sh --apiserver-advertise-address 172.16.16.9
复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行,并确保指令中所有字符都为英文字符。
如下图所示安装成功。
安装完成之后,启动服务需经历一段时间,请您稍作等待。服务启动后访问 http://<ip>:31234
即可看到 kubernetes 的 dashboard 界面。
单个master节点也可以直接使用,后期随着业务需求增大,可以随时添加node节点。
增加node节点(可选)
若要安装Kubernetes node节点,需重新选择一台机器,node节点不可与master节点在同一台机器上。
首先在需要加入kubernetes集群的node节点上执行下面命令,设置node节点的名称,如果有多个节点可以按照node1, node2, node3 … 设置,节点名称不能相同,更不能等于master,节点名称可以通过 hostname 命令查看。
#修改节点名称,防止多个节点重名
hostnamectl set-hostname node1
拷贝kubernetes-1.20.0-centos-7.5-deploy文件夹到要安装kubernetes的机器任意目录,然后根据以下命令操作:
进入解压后的目录:
cd kubernetes-1.20.0-centos-7.5-deploy/supermap-kubernetes
在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节点执行命令(kubeadm token list)获取。
注意:
多网卡情况下需要通过参数( ‐‐apiserver-advertise-address<ip>
)指定 kubernetes 使用哪块网卡。<ip>
为希望使用的网卡对应的 ip。例如: 指定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
常见问题解答
-
如果master节点上获取token的命令没有显示 token,可以在master节点上使用下面命令创建:
kubeadm token create
-
如果在安装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
-
如果Kubernetes node节点出现故障,需要从Kubernetes集群中移除该节点,请在master节点上执行以下命令:
kubectl delete node <nodeName> 参数说明: <nodeName>是即将移除kubernetes集群的节点名称。
-
移除的节点如何重置,请在节点上执行以下命令:
kubeadm reset
-
如果要将移除后的节点再次加入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节点时的参数进行指定网卡
复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行,并确保指令中所有字符都为英文字符。 -
如果要卸载Kubernetes,请在各个节点的安装包目录执行以下命令:
chmod +x install.sh && ./install.sh down