0cc7f09ed6 | ||
---|---|---|
bin | ||
dockerfiles | ||
example | ||
group_vars | ||
manifests | ||
package | ||
playbooks | ||
roles | ||
tools | ||
LICENSE | ||
README.md | ||
hosts | ||
setup.yml |
README.md
说明
部署脚本于长城专有云平台
部署脚本中包括了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
- 配置ssh免密码
sh tools/ssh-key-copy.sh root ${passwd} #请输入实际的root用户密码
- 执行一键安装
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
容器化
- 安装docker
systemctl stop firewalld
#关闭防火墙
sh tools/docker/install.sh
- 运行ansible镜像执行k8s安装
/opt/k8s/bin/docker run --name ansible -it --privileged -v /root/ccyunchina-deploy:/etc/ansible toyangdon/ansible:latest
#进入容器内执行ansible脚本