Go to file
toyangdon 4f5ae4333a update 2023-08-08 11:14:04 +08:00
bin 1.23.16 2023-07-27 10:19:18 +08:00
dockerfiles 1.23.16 2023-07-27 10:19:18 +08:00
example example 2021-10-09 10:54:52 +08:00
group_vars 1.23.16 2023-07-27 10:19:18 +08:00
manifests/prometheus update 2023-08-08 11:14:04 +08:00
package init 2021-03-26 09:44:36 +08:00
playbooks 1.23.16 2023-07-27 10:19:18 +08:00
roles update 2023-08-08 11:14:04 +08:00
tools ansible dockeriaze 2021-10-08 16:38:17 +08:00
.gitignore Initial commit 2021-03-26 09:31:49 +08:00
LICENSE Initial commit 2021-03-26 09:31:49 +08:00
README.md 1.23.16 2023-07-27 10:19:18 +08:00
hosts 1.23.16 2023-07-27 10:19:18 +08:00
kubernetes 组织图.png init 2021-03-26 09:44:36 +08:00
setup.yml init 2021-03-26 09:44:36 +08:00
tmp init 2021-03-26 09:44:36 +08:00

README.md

说明

部署脚本于安装arm版kubernetes集群。
容器云部署脚本中包括了kubernetes底层组件、harbor、elfk等一系列服务的安装。采用ansbile脚本实现自动安装运维人员需要对ansible工具有一定简单了解。主要服务基本实现全容器化、k8s化部署可以通过kubernetes dashboard监控到所有容器服务部署脚本基于centos 7 或者kylin v10 sp1要求内核版本为4以上既提供一键快速安装方式也提供分步执行安装方式。

组件版本

名称 版本号 备注
Kernel 4以上
kube-apiserver 1.23.16
kube-controller-manager 1.23.16
kube-scheduler 1.23.16
kube-proxy 1.23.16
kubelet 1.23.16
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 3.13.2
heketi 6.0
metrics-server v0.2.0
node-problem-detector v0.4.1
Openvpn 2.1

部署示意图

k8s部署图

快速安装

  1. 安装ansible yum install -y ansible
  2. 下载部署文件到部署节点的/etc/ansible目录下
    git clone depth=1 https://github.com/toyangdon/k8s_deploy.git
    由于从github上下载项目项目中的大文件中会出现损坏需要单独下载kubelet文件
    wget https://media.githubusercontent.com/media/toyangdon/k8s_deploy/master/bin/kubernetes/kubelet
    将下载的kubelet文件替换到k8s_deploy/bin/kubernetes/目录下
    cp kubelet k8s_deploy/bin/kubernetes/
    将部署文件复制到/etc/ansible目录下
    cp -rf k8s_deploy/* /etc/ansible/
  3. 配置集群安装信息
    单机部署
    cp -f example/hosts.allinone.example hosts
    高可用集群部署
    cp -f example/hosts.m-masters.example hosts
    根据实际情况修改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 部署(暂未实现)

目前分为elkmonitor二部分

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

ansible容器化

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