说明
部署脚本于长城专有云平台
部署脚本中包括了kubernetes底层组件、efk等一系列服务的安装。采用ansbile脚本实现自动安装,运维人员需要对ansible工具有一定简单了解。主要服务基本实现全容器化、k8s化部署,可以通过kubernetes dashboard监控到所有容器服务;部署脚本基于centos 7 或者kylin v10 sp1,要求内核版本为4以上;既提供一键快速安装方式,也提供分步执行安装方式。
组件版本
名称 |
版本号 |
备注 |
Kernel |
4以上 |
|
kube-apiserver |
1.21.0 |
|
kube-controller-manager |
1.21.0 |
|
kube-scheduler |
1.21.0 |
|
kube-proxy |
1.21.0 |
|
kubelet |
1.21.0 |
|
etcd |
3.3.15 |
|
calico |
3.3.1 |
|
docker |
18.06.3-ce |
|
coredns |
1.6.2 |
|
kubernets-dashboard |
1.10.1 |
|
traefik |
2.1.1 |
|
pause |
3.1 |
|
elasticsearch |
6.2.4 |
|
keepalived |
2.0.19-r0 |
|
Haproxy |
2.1.2 |
|
gluster |
4.0 |
|
heketi |
6.0 |
|
metrics-server |
0.2.0 |
|
node-problem-detector |
0.4.1 |
|
openvpn |
2.1 |
|
efk |
7.10.2 |
|
mysql |
8.0 |
|
redis |
5.0 |
|
rocketmq |
4.5.0 |
|
gw-proprietary-cloud |
0.1 |
|
部署示意图

快速安装
- 安装ansible
yum install -y ansible
- 下载部署文件到部署节点的/etc/ansible目录下
git clone –depth=1 https://git.trustie.net/toyangdon/proprietary-cloud-deploy.git
将部署文件复制到/etc/ansible目录下
cp -rf k8s_deploy/* /etc/ansible/
- 配置集群安装信息
根据实际情况修改hosts
文件
vi /etc/ansible/hosts
4. 配置ssh免密码
sh tools/ssh-key-copy.sh root ${passwd} #请输入实际的root用户密码
5. 执行一键安装
centos
ansible-playbook setup.yml
kylin v10 sp1
ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3.7' setup.yml
单机部署
ansible-playbook -e 'apiserver_mem_requests=100Mi' -e 'apiserver_cpu_requests=100m' setup.yml
分步安装
playbooks
目录提供分步安装的相关playbook,主要分为两大块kubernetes
和gpaas
kubernetes
部署
ansible-playbook playbooks/kubernetes/00.check.yml
检查集群服务器
ansible-playbook playbooks/kubernetes/01.docker.yml
在所有主机上安装并启动docker服务
ansible-playbook playbooks/kubernetes/02.prepare.yml
服务器通用配置,生成并分发集群所需相关证书
ansible-playbook playbooks/kubernetes/03.harbor.yml
部署harbor节点,安装并启动harbor服务(可选)
ansible-playbook playbooks/kubernetes/04.lb.yml
准备lb节点所需的相关安装文件,包括keepalived和haproxy
ansible-playbook playbooks/kubernetes/05.kube-master.yml
准备master节点所需的相关安装文件
ansible-playbook playbooks/kubernetes/06.kube-node.yml
在主机上安装并启动kubelet服务,先启动lb,再启动master,最后启动kube-node
ansible-playbook playbooks/kubernetes/07.calico.yml
在主机上准备calico服务所需要的相关安装文件(与flannel可选)
ansible-playbook playbooks/kubernetes/07.flannel.yml
在主机上准备flannel服务所需要的相关安装文件(与calico可选) (暂时不可用)
ansible-playbook playbooks/kubernetes/09.storage-nfs.yml
安装nfs服务(与gfs可选)(暂时不可用)
ansible-playbook playbooks/kubernetes/10.storage-gluster.yml
准备安装gfs服务
ansible-playbook playbooks/kubernetes/20.addnode.yml
新增节点
ansible-playbook playbooks/kubernetes/30.addons.yml
kubernetes所有插件服务的部署,包括kube-proxy、kubedns、calico、glusterfs等等
ansible-playbook playbooks/kubernetes/90.setup.yml
一键安装kubernetes,即顺序执行以上所有步骤(除了20.addnode)
ansible-playbook playbooks/kubernetes/99.clean.yml
一键清理kubernetes集群(慎用)
gpass
部署
目前分为efk
和monitor
二部分
efk
部署
ansible-playbook playbooks/gpaas/elk/01.es.yml
es部署
ansible-playbook playbooks/gpaas/elk/02.fluentd.yml
fluentd
ansible-playbook playbooks/gpaas/elk/03.kibana.yml
kibana部署
ansible-playbook playbooks/gpaas/elk/90.setup.yml
一键安装elk,即顺序执行以上所有步骤
monitor
部署
ansible-playbook playbooks/gpaas/monitor/01.prometheus.yml
prometheus部署
ansible-playbook playbooks/gpaas/monitor/90.setup.yml
一键安装监控平台,即顺序执行以上所有步骤
一键部署gpass
ansible-playbook playbooks/gpaas/90.setup.yml
专有云组件
部署
ansible-playbook playbooks/proprietary-cloud/90.setup.yml
ansible
容器化
- 安装docker
systemctl stop firewalld
#关闭防火墙
sh tools/docker/install.sh
- 运行ansible镜像执行k8s安装
/opt/k8s/bin/docker run --name ansible -it --privileged -v /root/k8s-install:/etc/ansible toyangdon/ansible:latest
#进入容器内执行ansible脚本
说明
部署脚本于长城专有云平台
部署脚本中包括了kubernetes底层组件、efk等一系列服务的安装。采用ansbile脚本实现自动安装,运维人员需要对ansible工具有一定简单了解。主要服务基本实现全容器化、k8s化部署,可以通过kubernetes dashboard监控到所有容器服务;部署脚本基于centos 7 或者kylin v10 sp1,要求内核版本为4以上;既提供一键快速安装方式,也提供分步执行安装方式。
组件版本
部署示意图
快速安装
yum install -y ansible
git clone –depth=1 https://git.trustie.net/toyangdon/proprietary-cloud-deploy.git
将部署文件复制到/etc/ansible目录下
cp -rf k8s_deploy/* /etc/ansible/
根据实际情况修改
hosts
文件vi /etc/ansible/hosts
4. 配置ssh免密码
sh tools/ssh-key-copy.sh root ${passwd} #请输入实际的root用户密码
5. 执行一键安装
centos
ansible-playbook setup.yml
kylin v10 sp1
ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3.7' setup.yml
单机部署
ansible-playbook -e 'apiserver_mem_requests=100Mi' -e 'apiserver_cpu_requests=100m' setup.yml
分步安装
playbooks
目录提供分步安装的相关playbook,主要分为两大块kubernetes
和gpaas
kubernetes
部署ansible-playbook playbooks/kubernetes/00.check.yml
检查集群服务器ansible-playbook playbooks/kubernetes/01.docker.yml
在所有主机上安装并启动docker服务ansible-playbook playbooks/kubernetes/02.prepare.yml
服务器通用配置,生成并分发集群所需相关证书ansible-playbook playbooks/kubernetes/03.harbor.yml
部署harbor节点,安装并启动harbor服务(可选)ansible-playbook playbooks/kubernetes/04.lb.yml
准备lb节点所需的相关安装文件,包括keepalived和haproxyansible-playbook playbooks/kubernetes/05.kube-master.yml
准备master节点所需的相关安装文件ansible-playbook playbooks/kubernetes/06.kube-node.yml
在主机上安装并启动kubelet服务,先启动lb,再启动master,最后启动kube-nodeansible-playbook playbooks/kubernetes/07.calico.yml
在主机上准备calico服务所需要的相关安装文件(与flannel可选)ansible-playbook playbooks/kubernetes/07.flannel.yml
在主机上准备flannel服务所需要的相关安装文件(与calico可选) (暂时不可用)ansible-playbook playbooks/kubernetes/09.storage-nfs.yml
安装nfs服务(与gfs可选)(暂时不可用)ansible-playbook playbooks/kubernetes/10.storage-gluster.yml
准备安装gfs服务ansible-playbook playbooks/kubernetes/20.addnode.yml
新增节点ansible-playbook playbooks/kubernetes/30.addons.yml
kubernetes所有插件服务的部署,包括kube-proxy、kubedns、calico、glusterfs等等ansible-playbook playbooks/kubernetes/90.setup.yml
一键安装kubernetes,即顺序执行以上所有步骤(除了20.addnode)ansible-playbook playbooks/kubernetes/99.clean.yml
一键清理kubernetes集群(慎用)gpass
部署目前分为
efk
和monitor
二部分efk
部署ansible-playbook playbooks/gpaas/elk/01.es.yml
es部署ansible-playbook playbooks/gpaas/elk/02.fluentd.yml
fluentdansible-playbook playbooks/gpaas/elk/03.kibana.yml
kibana部署ansible-playbook playbooks/gpaas/elk/90.setup.yml
一键安装elk,即顺序执行以上所有步骤monitor
部署ansible-playbook playbooks/gpaas/monitor/01.prometheus.yml
prometheus部署ansible-playbook playbooks/gpaas/monitor/90.setup.yml
一键安装监控平台,即顺序执行以上所有步骤一键部署
gpass
ansible-playbook playbooks/gpaas/90.setup.yml
专有云组件
部署ansible-playbook playbooks/proprietary-cloud/90.setup.yml
ansible
容器化systemctl stop firewalld
#关闭防火墙sh tools/docker/install.sh
/opt/k8s/bin/docker run --name ansible -it --privileged -v /root/k8s-install:/etc/ansible toyangdon/ansible:latest
#进入容器内执行ansible脚本