From e6edece5dd5fd34135dff182993090e531c6b7c1 Mon Sep 17 00:00:00 2001 From: gjmzj Date: Fri, 12 Oct 2018 13:30:19 +0800 Subject: [PATCH] update setup docs --- README.md | 20 +++++++++---------- docs/guide/chrony.md | 2 +- docs/guide/efk.md | 2 +- docs/guide/jenkins.md | 2 +- docs/{ => mixes}/branch.md | 0 docs/op/change_k8s_network.md | 4 ++-- docs/release-notes/kubeasz-0.2.1.md | 4 ++-- docs/release-notes/kubeasz-0.3.0.md | 4 ++-- .../00-planning_and_overall_intro.md} | 4 ++-- .../01-CA_and_prerequisite.md} | 5 ++--- .../02-install_etcd.md} | 7 +++---- .../03-install_docker.md} | 4 ++-- .../04-install_kube_master.md} | 4 ++-- .../05-install_kube_node.md} | 4 ++-- .../06-install_network_plugin.md} | 12 +++++------ .../07-install_cluster_addon.md} | 8 ++------ docs/{ => setup}/08-cluster-storage.md | 0 docs/{ => setup}/config_guide.md | 2 +- .../network-plugin/calico.md} | 0 .../network-plugin/cilium.md} | 0 .../network-plugin/flannel.md} | 0 .../network-plugin/kube-router.md} | 0 docs/{ => setup}/quickStart.md | 0 roles/calico/defaults/main.yml | 2 +- tools/init_vars.yml | 2 +- 25 files changed, 43 insertions(+), 49 deletions(-) rename docs/{ => mixes}/branch.md (100%) rename docs/{00-集群规划和基础参数设定.md => setup/00-planning_and_overall_intro.md} (97%) rename docs/{01-创建CA证书和环境配置.md => setup/01-CA_and_prerequisite.md} (98%) rename docs/{02-安装etcd集群.md => setup/02-install_etcd.md} (94%) rename docs/{03-安装docker服务.md => setup/03-install_docker.md} (97%) rename docs/{04-安装kube-master节点.md => setup/04-install_kube_master.md} (98%) rename docs/{05-安装kube-node节点.md => setup/05-install_kube_node.md} (97%) rename docs/{06-安装网络组件.md => setup/06-install_network_plugin.md} (90%) rename docs/{07-安装集群插件.md => setup/07-install_cluster_addon.md} (81%) rename docs/{ => setup}/08-cluster-storage.md (100%) rename docs/{ => setup}/config_guide.md (87%) rename docs/{06.calico.md => setup/network-plugin/calico.md} (100%) rename docs/{06.cilium.md => setup/network-plugin/cilium.md} (100%) rename docs/{06.flannel.md => setup/network-plugin/flannel.md} (100%) rename docs/{06.kube-router.md => setup/network-plugin/kube-router.md} (100%) rename docs/{ => setup}/quickStart.md (100%) diff --git a/README.md b/README.md index f279b48..fbdcc20 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ 项目基于`Ubuntu 16.04/CentOS 7`,需要了解基础`kubernetes` `docker` `linux` `ansible`等知识。 -请阅读[项目TodoList](docs/mixes/TodoList.md)和[项目分支说明](docs/branch.md),欢迎提[Issues](https://github.com/gjmzj/kubeasz/issues)和[PRs](docs/mixes/HowToContribute.md)参与维护项目。 +请阅读[项目TodoList](docs/mixes/TodoList.md)和[项目分支说明](docs/mixes/branch.md),欢迎提[Issues](https://github.com/gjmzj/kubeasz/issues)和[PRs](docs/mixes/HowToContribute.md)参与维护项目。 |组件|更新|支持| |:-|:-|:-| @@ -20,22 +20,22 @@ ## 快速指南 -单机快速体验k8s集群的测试、开发环境--[AllinOne部署](docs/quickStart.md) +单机快速体验k8s集群的测试、开发环境--[AllinOne部署](docs/setup/quickStart.md) ## 安装步骤 - - - - + + + + - - - - + + + +
00-规划集群和安装概览02-安装etcd集群04-安装master节点06-安装集群网络00-规划集群和安装概览02-安装etcd集群04-安装master节点06-安装集群网络
01-创建证书和安装准备03-安装docker服务05-安装node节点07-安装集群插件01-创建证书和安装准备03-安装docker服务05-安装node节点07-安装集群插件
diff --git a/docs/guide/chrony.md b/docs/guide/chrony.md index cffe3e4..3e9cc13 100644 --- a/docs/guide/chrony.md +++ b/docs/guide/chrony.md @@ -33,7 +33,7 @@ server {{ groups.deploy[0] }} iburst ## `kubeasz` 集成安装 - 修改 ansible hosts 文件,在 `deploy` 节点配置 `NTP_ENABLED=yes` (默认: no) -- [可选] 修改 roles/chrony/var/main.yml 中的变量定义,关于文件 roles/chrony/var/main.yml 的由来请看[这里](../config_guide.md) +- [可选] 修改 roles/chrony/var/main.yml 中的变量定义,关于文件 roles/chrony/var/main.yml 的由来请看[这里](../setup/config_guide.md) 对于新集群或者新节点,`chrony` 的安装配置已经集成到 `90.setup.yml` `01.prepare.yml` `20.addnode.yml` `21.addmaster.yml` 等脚本中;对于已运行中的集群请执行如下命令进行安装: diff --git a/docs/guide/efk.md b/docs/guide/efk.md index 1c479d2..aaa4325 100644 --- a/docs/guide/efk.md +++ b/docs/guide/efk.md @@ -135,7 +135,7 @@ es0 es1 es2 #### 使用动态 PV安装 EFK -- 首先根据[集群存储](../08-cluster-storage.md)创建nfs-client-provisioner +- 首先根据[集群存储](../setup/08-cluster-storage.md)创建nfs-client-provisioner - 然后按实际需求修改 `es-dynamic-pv/es-statefulset.yaml` 文件中 volumeClaimTemplates 设置的 storage: 4Gi 大小 ``` bash diff --git a/docs/guide/jenkins.md b/docs/guide/jenkins.md index f362430..5452b22 100644 --- a/docs/guide/jenkins.md +++ b/docs/guide/jenkins.md @@ -10,7 +10,7 @@ - helm 为了简化部署,通过helm来安装Jenkins,可参考文档:[helm](helm.md) - 持久化存储 -这里使用**NFS**演示,参考文档:[cluster-storage](../08-cluster-storage.md)。 +这里使用**NFS**演示,参考文档:[cluster-storage](../setup/08-cluster-storage.md)。 如果k8s集群是部署在公有云,也可使用厂商的NAS等存储方案,项目中已集成支持阿里云NAS,其他的方案参考相关厂商文档 - Ingress Controller(nginx-ingress/traefik) diff --git a/docs/branch.md b/docs/mixes/branch.md similarity index 100% rename from docs/branch.md rename to docs/mixes/branch.md diff --git a/docs/op/change_k8s_network.md b/docs/op/change_k8s_network.md index ab99a41..74009f0 100644 --- a/docs/op/change_k8s_network.md +++ b/docs/op/change_k8s_network.md @@ -8,7 +8,7 @@ ## 替换流程 -kubeasz使用标准cni方式安装k8s集群的网络插件;cni负载创建容器网卡和IP分配(IPAM),不同的网络插件(calico,flannel等)创建容器网卡和IP分配方式不一样,所以在替换网络插件时候需要现有pod全部删除,然后自动按照新网络插件的方式重建pod网络;请参考[k8s网络插件章节](../06-安装网络组件.md)。 +kubeasz使用标准cni方式安装k8s集群的网络插件;cni负载创建容器网卡和IP分配(IPAM),不同的网络插件(calico,flannel等)创建容器网卡和IP分配方式不一样,所以在替换网络插件时候需要现有pod全部删除,然后自动按照新网络插件的方式重建pod网络;请参考[k8s网络插件章节](../setup/06-install_network_plugin.md)。 ### 替换操作 @@ -27,5 +27,5 @@ g.删除所有运行pod,然后等待自动重建 ## 验证新网络插件 -参照[calico](../06.calico.md) [flannel](../06.flannel.md) [kube-router](../06.kube-router.md) +参照[calico](../setup/calico.md) [cilium](../setup/cilium.md) [flannel](../setup/flannel.md) [kube-router](../setup/kube-router.md) diff --git a/docs/release-notes/kubeasz-0.2.1.md b/docs/release-notes/kubeasz-0.2.1.md index bf3bbea..b2ac198 100644 --- a/docs/release-notes/kubeasz-0.2.1.md +++ b/docs/release-notes/kubeasz-0.2.1.md @@ -9,8 +9,8 @@ CHANGELOG: - 集成其他插件(可选)使用离线docker镜像安装 - 增加切换集群网络插件的脚本 - 文档更新: - - [快速指南](https://github.com/gjmzj/kubeasz/blob/master/docs/quickStart.md) - - [安装规划](https://github.com/gjmzj/kubeasz/blob/master/docs/00-%E9%9B%86%E7%BE%A4%E8%A7%84%E5%88%92%E5%92%8C%E5%9F%BA%E7%A1%80%E5%8F%82%E6%95%B0%E8%AE%BE%E5%AE%9A.md) + - [快速指南](https://github.com/gjmzj/kubeasz/blob/master/docs/setup/quickStart.md) + - [安装规划](https://github.com/gjmzj/kubeasz/blob/master/docs/setup/00-planning_and_overall_intro.md) - [切换网络](https://github.com/gjmzj/kubeasz/blob/master/docs/op/clean_k8s_network.md) - 其他: - Bug fix: 清理集群时可能出现`Device or resource busy: '/var/run/docker/netns/xxxxxxx'`的错误,可手动umount后重新清理集群 diff --git a/docs/release-notes/kubeasz-0.3.0.md b/docs/release-notes/kubeasz-0.3.0.md index b690f98..af4ba52 100644 --- a/docs/release-notes/kubeasz-0.3.0.md +++ b/docs/release-notes/kubeasz-0.3.0.md @@ -8,9 +8,9 @@ CHANGELOG: - 功能更新: - **增加集群备份与恢复** 功能与[说明](https://github.com/gjmzj/kubeasz/blob/master/docs/op/cluster_restore.md) - **增加cilium网络插件** ,文档待更新 - - **增加cluster-storage角色** 与[文档说明](https://github.com/gjmzj/kubeasz/blob/master/docs/08-cluster-storage.md) + - **增加cluster-storage角色** 与[文档说明](https://github.com/gjmzj/kubeasz/blob/master/docs/setup/08-cluster-storage.md) - 增加阿里云NAS存储支持 - - 增加集群个性化[配置说明](https://github.com/gjmzj/kubeasz/blob/master/docs/config_guide.md)与生成脚本`tools/init_vars.yml` + - 增加集群个性化[配置说明](https://github.com/gjmzj/kubeasz/blob/master/docs/setup/config_guide.md)与生成脚本`tools/init_vars.yml` - 支持deploy节点与ansible执行节点分离,为一份代码创建多个集群准备 - 其他: - 更新 jenkins and plugins (#258) diff --git a/docs/00-集群规划和基础参数设定.md b/docs/setup/00-planning_and_overall_intro.md similarity index 97% rename from docs/00-集群规划和基础参数设定.md rename to docs/setup/00-planning_and_overall_intro.md index a64048d..8129132 100644 --- a/docs/00-集群规划和基础参数设定.md +++ b/docs/setup/00-planning_and_overall_intro.md @@ -1,4 +1,4 @@ -## 00-集群规划和基础参数设定.md +## 00-集群规划和基础参数设定 多节点高可用集群部署步骤与[AllinOne部署](quickStart.md)基本一致,增加LB 负载均衡部署步骤。 @@ -139,4 +139,4 @@ ansible-playbook 07.cluster-addon.yml + [可选]对集群所有节点进行操作系统层面的安全加固 `ansible-playbook roles/os-harden/os-harden.yml`,详情请参考[os-harden项目](https://github.com/dev-sec/ansible-os-hardening) -[前一篇](quickStart.md) -- [后一篇](01-创建CA证书和环境配置.md) +[后一篇](01-CA_and_prerequisite.md) diff --git a/docs/01-创建CA证书和环境配置.md b/docs/setup/01-CA_and_prerequisite.md similarity index 98% rename from docs/01-创建CA证书和环境配置.md rename to docs/setup/01-CA_and_prerequisite.md index 2a2b8b9..a6727ca 100644 --- a/docs/01-创建CA证书和环境配置.md +++ b/docs/setup/01-CA_and_prerequisite.md @@ -1,4 +1,4 @@ -# 01-创建证书和环境配置.md +# 01-创建证书和环境配置 本步骤[01.prepare.yml](../01.prepare.yml)主要完成: @@ -326,5 +326,4 @@ ip a # 检查 master的 VIP地址是否存在 1. 尝试关闭 keepalived主节点上的 haproxy进程,然后在keepalived 备节点上查看 master的 VIP地址是否能够漂移过来,并依次检查上一步中的验证项。 1. 尝试直接关闭 keepalived 主节点系统,检查各验证项。 - -[前一篇](00-集群规划和基础参数设定.md) -- [后一篇](02-安装etcd集群.md) +[后一篇](02-install_etcd.md) diff --git a/docs/02-安装etcd集群.md b/docs/setup/02-install_etcd.md similarity index 94% rename from docs/02-安装etcd集群.md rename to docs/setup/02-install_etcd.md index 92ce4a9..b1ab936 100644 --- a/docs/02-安装etcd集群.md +++ b/docs/setup/02-install_etcd.md @@ -1,4 +1,4 @@ -## 02-安装etcd集群.md +## 02-安装etcd集群 kuberntes 系统使用 etcd 存储所有数据,是最重要的组件之一,注意 etcd集群只能有奇数个节点(1,3,5...),本文档使用3个节点做集群。 @@ -83,7 +83,7 @@ LimitNOFILE=65536 WantedBy=multi-user.target ``` + 完整参数列表请使用 `etcd --help` 查询 -+ 注意etcd 即需要服务器证书也需要客户端证书,这里为方便使用一个peer 证书代替两个证书,更多证书相关请阅读 [01-创建CA证书和环境配置.md](01-创建CA证书和环境配置.md) ++ 注意etcd 即需要服务器证书也需要客户端证书,这里为方便使用一个peer 证书代替两个证书,更多证书相关请阅读 [01-创建CA证书和环境配置](01-CA_and_prerequisite.md) + 注意{{ }} 中的参数与ansible hosts文件中设置对应 + `--initial-cluster-state` 值为 `new` 时,`--name` 的参数值必须位于 `--initial-cluster` 列表中; @@ -119,5 +119,4 @@ https://192.168.1.3:2379 is healthy: successfully committed proposal: took = 3.2 ``` 三台 etcd 的输出均为 healthy 时表示集群服务正常。 - -[前一篇](01-创建CA证书和环境配置.md) -- [后一篇](03-安装docker服务.md) +[后一篇](03-install_docker.md) diff --git a/docs/03-安装docker服务.md b/docs/setup/03-install_docker.md similarity index 97% rename from docs/03-安装docker服务.md rename to docs/setup/03-install_docker.md index 369823b..94b81ea 100644 --- a/docs/03-安装docker服务.md +++ b/docs/setup/03-install_docker.md @@ -1,4 +1,4 @@ -## 03-安装docker服务.md +## 03-安装docker服务 ``` bash roles/docker/ @@ -152,4 +152,4 @@ iptables-save|grep FORWARD -A FORWARD -j ACCEPT ``` -[前一篇](02-安装etcd集群.md) -- [后一篇](04-安装kube-master节点.md) +[后一篇](04-install_kube_master.md) diff --git a/docs/04-安装kube-master节点.md b/docs/setup/04-install_kube_master.md similarity index 98% rename from docs/04-安装kube-master节点.md rename to docs/setup/04-install_kube_master.md index 0d4521b..dd3f0d8 100644 --- a/docs/04-安装kube-master节点.md +++ b/docs/setup/04-install_kube_master.md @@ -1,4 +1,4 @@ -## 04-安装kube-master节点.md +## 04-安装kube-master节点 部署master节点主要包含三个组件`apiserver` `scheduler` `controller-manager`,其中: @@ -229,4 +229,4 @@ etcd-2 Healthy {"health": "true"} etcd-1 Healthy {"health": "true"} ``` -[前一篇](03-安装docker服务.md) -- [后一篇](05-安装kube-node节点.md) +[后一篇](05-install_kube_node.md) diff --git a/docs/05-安装kube-node节点.md b/docs/setup/05-install_kube_node.md similarity index 97% rename from docs/05-安装kube-node节点.md rename to docs/setup/05-install_kube_node.md index beda43d..7cca7dd 100644 --- a/docs/05-安装kube-node节点.md +++ b/docs/setup/05-install_kube_node.md @@ -1,4 +1,4 @@ -## 05-安装kube-node节点.md +## 05-安装kube-node节点 `kube-node` 是集群中承载应用的节点,前置条件需要先部署好`kube-master`节点(因为需要操作`用户角色绑定`、`批准kubelet TLS 证书请求`等),它需要部署如下组件: @@ -135,4 +135,4 @@ NAME STATUS ROLES AGE VERSION ``` -[前一篇](04-安装kube-master节点.md) -- [后一篇](06-安装网络组件.md) +[后一篇](06-install_network_plugin.md) diff --git a/docs/06-安装网络组件.md b/docs/setup/06-install_network_plugin.md similarity index 90% rename from docs/06-安装网络组件.md rename to docs/setup/06-install_network_plugin.md index ed665f9..212b1a4 100644 --- a/docs/06-安装网络组件.md +++ b/docs/setup/06-install_network_plugin.md @@ -1,4 +1,4 @@ -## 06-安装网络组件.md +## 06-安装网络组件 首先回顾下K8S网络设计原则,在配置集群网络插件或者实践K8S 应用/服务部署请时刻想到这些原则: @@ -29,14 +29,14 @@ Kubernetes Pod的网络是这样创建的: ### 安装讲解 -- [安装calico](06.calico.md) -- [安装cilium](06.cilium.md) -- [安装flannel](06.flannel.md) -- [安装kube-router](06.kube-router.md) +- [安装calico](network-plugin/calico.md) +- [安装cilium](network-plugin/cilium.md) +- [安装flannel](network-plugin/flannel.md) +- [安装kube-router](network-plugin/kube-router.md) ### 参考 - [kubernetes.io networking docs](https://kubernetes.io/docs/concepts/cluster-administration/networking/) - [feiskyer-kubernetes指南网络章节](https://github.com/feiskyer/kubernetes-handbook/blob/master/zh/network/network.md) -[前一篇](05-安装kube-node节点.md) -- [后一篇](07-安装集群插件.md) +[后一篇](07-install_cluster_addon.md) diff --git a/docs/07-安装集群插件.md b/docs/setup/07-install_cluster_addon.md similarity index 81% rename from docs/07-安装集群插件.md rename to docs/setup/07-install_cluster_addon.md index d6a9715..0e39204 100644 --- a/docs/07-安装集群插件.md +++ b/docs/setup/07-install_cluster_addon.md @@ -1,4 +1,4 @@ -# 安装集群主要插件 +# 07-安装集群主要插件 目前挑选一些常用、必要的插件自动集成到安装脚本之中: - [自动脚本](../roles/cluster-addon/tasks/main.yml) @@ -11,10 +11,6 @@ - 2.注册变量pod_info,pod_info用来判断现有集群是否已经运行各种插件 - 3.根据pod_info和`配置开关`逐个进行/跳过插件安装 -## 下一步 - -[集群存储](08-cluster-storage.md) - -[前一篇](06-安装网络组件.md) -- +[后一篇](08-cluster-storage.md) diff --git a/docs/08-cluster-storage.md b/docs/setup/08-cluster-storage.md similarity index 100% rename from docs/08-cluster-storage.md rename to docs/setup/08-cluster-storage.md diff --git a/docs/config_guide.md b/docs/setup/config_guide.md similarity index 87% rename from docs/config_guide.md rename to docs/setup/config_guide.md index e433e1c..d6ba557 100644 --- a/docs/config_guide.md +++ b/docs/setup/config_guide.md @@ -12,7 +12,7 @@ ## ansible hosts -项目在[快速指南](quickStart.md)或者[集群规划与安装概览](00-集群规划和基础参数设定.md)已经介绍过,主要包括集群节点定义和集群范围的主要参数配置;目前提供三种集群部署模板。 +项目在[快速指南](quickStart.md)或者[集群规划与安装概览](00-planning_and_overall_installing.md)已经介绍过,主要包括集群节点定义和集群范围的主要参数配置;目前提供三种集群部署模板。 - 尽量保持配置简单灵活 - 尽量保持配置项稳定 diff --git a/docs/06.calico.md b/docs/setup/network-plugin/calico.md similarity index 100% rename from docs/06.calico.md rename to docs/setup/network-plugin/calico.md diff --git a/docs/06.cilium.md b/docs/setup/network-plugin/cilium.md similarity index 100% rename from docs/06.cilium.md rename to docs/setup/network-plugin/cilium.md diff --git a/docs/06.flannel.md b/docs/setup/network-plugin/flannel.md similarity index 100% rename from docs/06.flannel.md rename to docs/setup/network-plugin/flannel.md diff --git a/docs/06.kube-router.md b/docs/setup/network-plugin/kube-router.md similarity index 100% rename from docs/06.kube-router.md rename to docs/setup/network-plugin/kube-router.md diff --git a/docs/quickStart.md b/docs/setup/quickStart.md similarity index 100% rename from docs/quickStart.md rename to docs/setup/quickStart.md diff --git a/roles/calico/defaults/main.yml b/roles/calico/defaults/main.yml index 36dfbd4..65f837c 100644 --- a/roles/calico/defaults/main.yml +++ b/roles/calico/defaults/main.yml @@ -8,7 +8,7 @@ NODE_WITH_MULTIPLE_NETWORKS: "true" TMP_ENDPOINTS: "{% for h in groups['etcd'] %}https://{{ h }}:2379,{% endfor %}" ETCD_ENDPOINTS: "{{ TMP_ENDPOINTS.rstrip(',') }}" -# 设置 CALICO_IPV4POOL_IPIP=“off”,可以提高网络性能,条件限制详见 docs/06.calico.md +# 设置 CALICO_IPV4POOL_IPIP=“off”,可以提高网络性能,条件限制详见 docs/setup/calico.md CALICO_IPV4POOL_IPIP: "always" # 设置 Felix 日志级别 diff --git a/tools/init_vars.yml b/tools/init_vars.yml index 6019e00..ee6ac5f 100644 --- a/tools/init_vars.yml +++ b/tools/init_vars.yml @@ -1,4 +1,4 @@ -# [可选]初始化集群设置脚本,使用请参考docs/op/config_guide.md +# [可选]初始化集群设置脚本,使用请参考docs/setup/config_guide.md # 如果创建集群时需要修改项目roles中默认配置,请执行本脚本后,编辑roles/xxx/vars/main.yml修改 - hosts: deploy