自动化部署工具介绍
自动化工具简介
AutoK8SforKunpeng是专门为鲲鹏服务器开发的自动化集群部署的工具,可以支持离线集群部署,支持Windows和Linux多平台运行。支持命令行交互模式部署和一键式自动部署。日志功能可以方便地回溯部署的全过程及失败信息。
自动化K8s部署工具支持多元的部署方式,可以选择组件版本以及工具执行平台。
部署脚本使用python3编写,主机间通信采用SSH方式,意味着脚本执行机可以是Windows系统或Linux系统,可以跟部署机在一起,也可以分开。部署机可以是Linux虚拟机、PC或服务器。
自动化部署脚本目前只支持Kubernetes 1.14.2版本。
自动化部署可用组网
图1 自动化部署工具可用组网
角色 |
需求 |
备注 |
---|---|---|
脚本执行环境 |
可以支持python3,并且支持第三方库paramiko,不限操作系统或执行平台,与部署机网络可达。 |
运行KunpengAutoKube.py的平台,可以使用部署机或其他网络可达需求满足的平台。 |
部署机 |
Linux系统,与集群网络可达,离线安装包remoteparts.zip已保存在本地,与集群所有主机已建立SSH信任,可以使用虚拟机。 |
如需要在部署机上制作离线安装包,则需要部署机可以访问互联网,与集群主机采用相同架构。 |
K8s管理节点 |
修改“/etc/hosts”文件,包含整个集群信息。 |
集群所有主机需统一使用root用户,设置统一的密码。 |
K8s计算节点 |
工具使用限制
- 必须使用python3运行,并需要提前安装SSH库paramiko,详见准备脚本执行环境。
- 脚本执行平台可以是Windows或Linux,但安装包的压缩文件必须放置在对应部署机的工作目录下。
- 集群所有主机的用户名和密码都需保持一致并
明文 保存在配置文件中。 - 文件包传输,需要提前通过ssh-keygen ssh-copy-id建立部署机和被部署机的信任关系。
- 需要提前修改集群内的所有主机的/etc/hosts文件,添加集群内各个主机的IP地址和hostname。
- 网络协议目前只支持Flannel模式。
- 安装方式为离线安装,各组件版本固定,需要提前通过取包脚本在可以联网的主机上下载。
- 目前不支持多master。
离线包下载工具使用说明
使用自动化部署工具时需要Docker和K8s离线安装包用于部署,可以使用提供的remoteparts下载工具进行制作。在一个没有安装过K8s组件且可以访问互联网的TaiShan服务器(CentOS7.6)上即可完成下载安装包,如果部署机可以连通网络,可以直接在部署机上下载。
- 在服务器中解压该文件,进入remoteparts文件夹,运行packget.sh脚本,如果服务器没有安装Docker,运行脚本的时候需要带参数install。
1 2 3
unzip remoteparts.zip cd remoteparts ./packget.sh install
图2 运行packget.sh脚本
- 如果Docker已经安装,执行如下命令:
1 2 3
unzip remoteparts.zip cd remoteparts ./packget.sh
- 运行完毕以后,退到上一级文件夹,将remoteparts文件夹重新压缩为remoteparts.zip格式。
1
zip -r remoteparts.zip remoteparts
图3 压缩remoteparts文件夹
此时这个remoteparts.zip文件就可以满足自动化部署脚本的要求。