Go to file
ydoit 0cc7f09ed6 update 2024-05-28 13:48:39 +08:00
bin init 2023-06-01 16:47:24 +08:00
dockerfiles init 2023-06-01 16:47:24 +08:00
example init 2023-06-01 16:47:24 +08:00
group_vars update 2023-08-29 15:32:44 +08:00
manifests update 2023-08-29 15:32:44 +08:00
package init 2023-06-19 15:13:51 +08:00
playbooks init 2023-06-01 16:47:24 +08:00
roles update 2024-05-28 13:48:39 +08:00
tools --al 2024-05-28 13:48:23 +08:00
LICENSE init 2023-06-01 16:47:24 +08:00
README.md init 2023-06-19 15:13:51 +08:00
hosts update 2023-08-29 15:50:57 +08:00
setup.yml init 2023-06-01 16:47:24 +08:00

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

部署示意图

k8s部署图

快速安装

  1. 安装ansible yum install -y ansible
  2. 下载部署文件到部署节点的/etc/ansible目录下
    git clone depth=1 https://git.trustie.net/toyangdon/proprietary-cloud-deploy.git
    将部署文件复制到/etc/ansible目录下
    cp -rf k8s_deploy/* /etc/ansible/
  3. 配置集群安装信息
    根据实际情况修改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主要分为两大块kubernetesgpaas

kubernetes 部署

  1. ansible-playbook playbooks/kubernetes/00.check.yml 检查集群服务器
  2. ansible-playbook playbooks/kubernetes/01.docker.yml 在所有主机上安装并启动docker服务
  3. ansible-playbook playbooks/kubernetes/02.prepare.yml 服务器通用配置,生成并分发集群所需相关证书
  4. ansible-playbook playbooks/kubernetes/03.harbor.yml 部署harbor节点安装并启动harbor服务可选
  5. ansible-playbook playbooks/kubernetes/04.lb.yml 准备lb节点所需的相关安装文件包括keepalived和haproxy
  6. ansible-playbook playbooks/kubernetes/05.kube-master.yml 准备master节点所需的相关安装文件
  7. ansible-playbook playbooks/kubernetes/06.kube-node.yml 在主机上安装并启动kubelet服务先启动lb,再启动master最后启动kube-node
  8. ansible-playbook playbooks/kubernetes/07.calico.yml 在主机上准备calico服务所需要的相关安装文件与flannel可选
  9. ansible-playbook playbooks/kubernetes/07.flannel.yml 在主机上准备flannel服务所需要的相关安装文件与calico可选 (暂时不可用)
  10. ansible-playbook playbooks/kubernetes/09.storage-nfs.yml 安装nfs服务与gfs可选暂时不可用
  11. ansible-playbook playbooks/kubernetes/10.storage-gluster.yml 准备安装gfs服务
  12. ansible-playbook playbooks/kubernetes/20.addnode.yml 新增节点
  13. ansible-playbook playbooks/kubernetes/30.addons.yml kubernetes所有插件服务的部署包括kube-proxy、kubedns、calico、glusterfs等等
  14. ansible-playbook playbooks/kubernetes/90.setup.yml 一键安装kubernetes,即顺序执行以上所有步骤除了20.addnode
  15. ansible-playbook playbooks/kubernetes/99.clean.yml 一键清理kubernetes集群慎用

gpass 部署

目前分为efkmonitor二部分

efk 部署

  1. ansible-playbook playbooks/gpaas/elk/01.es.yml es部署
  2. ansible-playbook playbooks/gpaas/elk/02.fluentd.yml fluentd
  3. ansible-playbook playbooks/gpaas/elk/03.kibana.yml kibana部署
  4. ansible-playbook playbooks/gpaas/elk/90.setup.yml 一键安装elk即顺序执行以上所有步骤

monitor 部署

  1. ansible-playbook playbooks/gpaas/monitor/01.prometheus.yml prometheus部署
  2. ansible-playbook playbooks/gpaas/monitor/90.setup.yml 一键安装监控平台,即顺序执行以上所有步骤

一键部署gpass

  1. ansible-playbook playbooks/gpaas/90.setup.yml

专有云组件部署

  1. ansible-playbook playbooks/proprietary-cloud/90.setup.yml

ansible容器化

  1. 安装docker
    systemctl stop firewalld #关闭防火墙
    sh tools/docker/install.sh
  2. 运行ansible镜像执行k8s安装
    /opt/k8s/bin/docker run --name ansible -it --privileged -v /root/ccyunchina-deploy:/etc/ansible toyangdon/ansible:latest #进入容器内执行ansible脚本