入门

安装kubernetes-1.14-Ubuntu篇

本文档所需文件均可在百度网盘中下载:

https://pan.baidu.com/s/1lWLyyT1jAbADGuxEG3m4gA
提取码:ge4d

安装包准备

网盘路径:iManager部署包/软件工具包/Kubernetes离线安装包/kubernetes-1.14.1-ubuntu-18.04-deploy.zip

环境要求

  • 使用网盘中提供的ISO安装系统

    网盘路径:iManager部署包/软件工具包/OS/OS-ISO/ubuntu-18.04.2-live-server-amd64.iso

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

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

单节点(master)安装步骤

在本机解压Kubernetes-1.14.1-ubuntu-18.04-deploy.zip,将解压后目录里的offline-Kubernetes-1.14-ubuntu.tar.gz拷贝到要安装Kubernetes的机器任意目录,再执行以下操作:

解压:

tar -zxvf offline-kubernetes-1.14-ubuntu.tar.gz

进入解压后的目录:

cd offline-kubernetes-1.14-ubuntu

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

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

安装完成之后,访问 http://<ip>:31234 可以看到 kubernetes 的 dashboard 界面

备注:
多网卡情况下需要指定 kubernetes 使用哪块网卡的 ip,需要追加参数( ‐‐apiserver‐advertise‐address <ip>),<ip> 为希望使用的网卡对应的 ip。例如: 172.16.16.9,完整的命令类似于”chmod +x install.sh && ./install.sh ‐‐apiserver‐advertise‐address 172.16.16.9”

复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行

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

增加node节点(可选)

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

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

#修改系统配置,以免修改节点名称后,重启失效  
sed -i "s|preserve_hostname: false|preserve_hostname:  true|g" /etc/cloud/cloud.cfg
#修改节点名称,防止多个节点重名
hostnamectl set-hostname node1

拷贝kubernetes离线安装包到node机器任意目录。

解压:

tar -zxvf offline-kubernetes-1.14-ubuntu.tar.gz

进入解压后的目录

cd offline-kubernetes-1.14-ubuntu

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

kubeadm token list

root用户下,执行安装脚本

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

注意:

  1. <master‐ip>为 master 节点的 ip。
  2. <kubernetes‐token>可以通过在master节点执行命令(kubeadm token list)获取。
  3. 多网卡情况下可以按照安装master节点时的参数进行网卡指定。
  4. 复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行

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

kubectl get nodes

常见问题解答

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

    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

    注意:

    1. <master‐ip>为master节点的ip
    2. <kubernetes‐token>为在master节点上通过”kubeadm token list”查看获取的token
    3. 多网卡情况下可以按照安装master节点时的参数进行指定网卡
    4. 复制指令使用时,如果粘贴的指令发生换行,须调整在同一行内再执行
  6. 如果要卸载Kubernetes,请在各个节点的安装包目录执行以下命令:

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