Skip to content

Kubekit 安装与使用手册

Timothy edited this page Dec 11, 2017 · 32 revisions

目录

环境准备

由于Kubernetes的安装要求,并组建集群,需要准备全新安装的服务器若干(建议至少三台服务器,一台为K8S master,另外两台为node),操作系统为:CentOS release 7.3.1611(建议最小化安装),在安装前,确保服务器具备以下条件:

  • 拥有每台服务器的root权限和密码
  • 每台服务器均能内网互通,拥有可以直接互访的内网IP地址,由于所有Kubernetes组件会使用离线方式安装,因此有无公网环境不影响安装
  • 需要特别注意的是,在安装之前,请确保每个Kubernetes节点拥有不重复的hostname,并且每个节点都在同一timezone,并且时间一致

安装过程

安装包准备

从准备好的服务器中,选出一台作为K8S Master,进行初始化操作。初始化之前,需要准备安装包:

根据操作系统版本,下载安装所必须的离线镜像包:

OS Version K8S Version Dashboard Version Package Download
CentOS 7.3.1611 V1.7.2 V1.6.3 Download
CentOS 7.4.1708 V1.8.1 V1.7.1 Download
  • 将离线包解压为package目录,并移动到 ./kubekit/package

  • 进入package目录,赋予所有shell脚本可执行权限:

cd package
chmod +x *.sh
  • 至此,安装包准备完毕,可以使用U盘或者scp命令,将kubekit整个目录,复制到被选定为K8S Master的服务器上

初始化K8S Master

使用SSH的方式,登录到K8S Master机器,并进入安装包目录kubekit中,运行初始化命令:

./kubekit init 192.168.x.x

作为示例,192.168.x.x为Master机器的内网IP

init命令将把当前机器初始化为K8S Master,整个安装过程自动进行,安装步骤会分为:

  • 离线安装并配置Docker Engine,版本为(1.12.6)
  • 离线安装K8S所需组件,并在当前机器启动K8S Master, Kubernetes版本为1.7.2
  • K8S Master初始化成功后,记录K8S cluster token

安装过程预览:

  1. 安装并初始化Docker Engine:

  1. 初始化K8S Master:

初始化成功后,kubekit程序输出当前K8S cluster的token,并保存到当前目录的.k8s-token文件,如果忘记cluster token,可以查看此文件

  1. 待K8S Master完成初始化,kubekit会监听K8S Master机器的9000端口,并启动Web UI Portal,后续所有初始化其他K8S node的操作,将在Web UI Portal进行。

初始化K8S Node

通过访问K8S Master的内网IP:9000,可以打开Web UI Portal。此Web Portal主要用来一键安装和配置集群中的其他所有K8S node。通过添加节点,可以配置即将初始化和加入机器的K8S node信息:

注意:添加节点时,节点SSH登录密码需要输入root用户密码,初始化节点过程默认以root身份权限进行。

添加完毕节点信息,节点默认状态为未部署状态,可以批量勾选一个或者多个未部署节点进行一键批量部署:

部署过程会通过websocket推送,并直观的展示在Web Portal上,也可以点击单个节点的刷新按钮进行状态刷新。

Kubekit默认会在K8S Master节点初始化的时候,安装Kubernetes Dashboard,在面版中亦可通过菜单链接打开Kubernetes Dashboard

Kubernetes Dashboard默认访问地址: http://master-ip:31234

注意:使用kubectl命令前,需要退出当前SSH session重新登录,或者直接reload shell设置:source ~/.bashrc

Kubekit命令详解

Kubekit支持的命令参数,可通过运行./kubekit h进行查看,命令格式:

kubekit [command]
  • init命令 可简写为i,主要用于初始化当前服务器为K8S Master,并启动Web UI Portal
  • server命令 可简写为s,用于单独启动Web UI Portal界面,若是不小心Ctrl+C停止掉Web UI Portal,可用此命令再次启动
  • help命令 可简写为h,用于查看kubekit支持的命令并获取帮助

自定义端口号

默认情况下,Kubekit使用8000作为文件服务监听端口号,并使用9000端口作为Web UI Portal的监听端口号。如果默认端口号与已运行服务冲突,可以使用自定义端口好启动Kubekit.

使用方法:

   kubekit server FILE_SERVER_PORT TOOLKIT_SERVER_PORT

或者:

   kubekit s FILE_SERVER_PORT TOOLKIT_SERVER_PORT

卸载

Kubernetes和kubekit的卸载分为一下几个步骤:

  1. 重置所有Kubernetes节点,在每个节点执行:
kubeadm reset
  1. 卸载kubelet及关联组件:
yum -y remove kubelet kubeadm kubectl
  1. 删除kubekit及相关离线安装包:
rm -rf /path/to/kubekit