使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响
 
 
 
Go to file
jmgao e072b5359a 修改apiserver参数兼容安装 v1.8.x 2018-06-10 12:11:33 +08:00
bin prepare release v1102-r1 2018-05-06 23:10:14 +08:00
docs 简化新增节点步骤 2018-06-10 08:32:34 +08:00
down lineinfile替换shell sed 2018-05-04 22:11:08 +08:00
example 修改apiserver参数兼容安装 v1.8.x 2018-06-10 12:11:33 +08:00
manifests update kube-dns 1.14.10 2018-06-08 23:29:58 +08:00
pics Add files via upload 2018-04-11 22:31:10 +08:00
roles 修改apiserver参数兼容安装 v1.8.x 2018-06-10 12:11:33 +08:00
tools 用inventory_hostname替换变量NODE_IP 2018-06-09 22:19:20 +08:00
.gitignore 修改apiserver参数兼容安装 v1.8.x 2018-06-10 12:11:33 +08:00
01.prepare.yml 更改os-harden为手动选择执行 2018-05-29 11:32:53 +08:00
02.etcd.yml 修改ansible配置默认不进行gather_facts 2017-11-12 19:18:39 +08:00
03.docker.yml 安装序号调整,'快速指南'等文档更新 2018-03-17 17:00:42 +08:00
04.kube-master.yml 用inventory_hostname替换变量NODE_IP 2018-06-09 22:19:20 +08:00
05.kube-node.yml 安装序号调整,'快速指南'等文档更新 2018-03-17 17:00:42 +08:00
06.network.yml 安装序号调整,'快速指南'等文档更新 2018-03-17 17:00:42 +08:00
11.harbor.yml 更改os-harden为手动选择执行 2018-05-29 11:32:53 +08:00
20.addnode.yml 更改os-harden为手动选择执行 2018-05-29 11:32:53 +08:00
21.addmaster.yml 用inventory_hostname替换变量NODE_IP 2018-06-09 22:19:20 +08:00
22.upgrade.yml 更新集群upgrade文档和脚本 2018-05-11 12:02:41 +08:00
90.setup.yml 用inventory_hostname替换变量NODE_IP 2018-06-09 22:19:20 +08:00
99.clean.yml prepare release v1102-r1 2018-05-06 23:10:14 +08:00
README.md minor文档更新 2018-05-28 23:05:37 +08:00
ansible.cfg ansible配置参数优化 2018-05-29 11:07:38 +08:00

README.md

使用ansible-playbook部署kubernetes集群

docker kube ansible

本项目致力于提供快速部署高可用k8s集群的工具,并且也努力成为k8s实践、使用的参考书;基于二进制方式部署和利用ansible-playbook实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项;二进制方式部署有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题。

集群特性:TLS 双向认证、RBAC 授权、多Master高可用、支持Network Policy

项目基于Ubuntu 16.04/CentOS 7,其他系统需要读者自行替换部分命令;你可能需要掌握基础kubernetes docker linux shell 知识,关于ansible建议阅读 ansible超快入门 基本够用。

请阅读项目TodoList项目分支说明,欢迎提IssuesPRs参与维护项目。

组件版本

  • kubernetes v1.10.2
  • etcd v3.3.4
  • docker 18.03.0-ce
  • calico v3.0.6
  • flannel v0.10.0
    注1 集群用到的所有二进制文件已打包好供下载 https://pan.baidu.com/s/1c4RFaA
    注2 为提高集群网络插件安装的灵活性,使用DaemonSet Pod方式运行网络插件,目前支持Calico flannel可选

快速指南

单机快速体验k8s集群的测试、开发环境--AllinOne部署

安装步骤

00-规划集群和安装概览 02-安装etcd集群 04-安装master节点 06-安装calico网络
01-创建证书和安装准备 03-安装docker服务 05-安装node节点 06-安装flannel网络

使用指南

常用插件 DNS服务 dashboard界面 heapster监控 efk日志 prometheus监控
集群运维 增加node 增加master 修改VIP 升级k8s 更多...
特性实验 NetworkPolicy RollingUpdate HPA
其他 harbor部署 ingress入口 helm工具 jenkins集成

沟通交流

贡献&致谢

感谢所有为项目提交 IssuesPRs 的贡献者!

Copyright 2017 gjmzj (jmgaozz@163.com) Apache License 2.0,详情见 LICENSE 文件。