/kubeasz

使用Ansible脚本二进制方式安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响

Primary LanguageShellApache License 2.0Apache-2.0

利用Ansible部署kubernetes集群

docker kube ansible

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

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

注意: 为提高集群网络插件安装的灵活性,使用DaemonSet Pod方式运行网络插件,目前支持Calico flannel可选

文档基于Ubuntu 16.04/CentOS 7,其他系统需要读者自行替换部分命令;由于使用经验有限和简化脚本考虑,已经尽量避免ansible-playbook的高级特性和复杂逻辑。

你可能需要掌握基本kubernetes docker linux shell 知识,关于ansible建议阅读 ansible超快入门 基本够用。

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

组件版本

  1. kubernetes v1.9.1
  2. etcd v3.2.13
  3. docker 17.12.0-ce
  4. calico/node v2.6.5
  5. flannel v0.9.1
  • 附:集群用到的所有二进制文件已打包好供下载 https://pan.baidu.com/s/1c4RFaA
  • 注:Kubernetes v1.8.x 版本请切换到项目分支 v1.8, 若你需要从v1.8 升级至 v1.9,请参考 升级注意

快速指南

单机快速体验k8s集群的测试、开发环境--AllinOne部署;在国内的网络环境下要比官方的minikube方便、简单很多。

安装步骤

  1. 集群规划和基础参数设定
  2. 创建CA证书和环境配置
  3. 安装etcd集群
  4. 配置kubectl命令行工具
  5. 安装docker服务
  6. 安装kube-master节点
  7. 安装kube-node节点
  8. 安装calico网络组件
  9. 安装flannel网络组件

使用指南

请根据这份 目录 阅读你所感兴趣的内容,尚在更新中...

参考阅读

  1. 建议阅读 rootsongjc-Kubernetes指南 原理和实践指南。
  2. 建议阅读 feisky-Kubernetes指南 原理和部署章节。
  3. 建议阅读 opsnull-安装教程 二进制手工部署。

版权

Copyright 2017 gjmzj (jmgaozz@163.com)

Apache License 2.0,详情见 LICENSE 文件。

如果觉得这份文档对你有帮助,请支付宝扫描下方的二维码进行捐赠,谢谢!

donate