From f7ebb5befe11446ede564047df457eb2e5cd7f1b Mon Sep 17 00:00:00 2001 From: gjmzj Date: Mon, 11 Mar 2019 21:02:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=9F=E5=BC=83ansible=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E6=96=87=E4=BB=B6roles/xxx/vars/main.yml=E7=9A=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/setup/07-install_cluster_addon.md | 2 +- docs/setup/08-cluster-storage.md | 9 ++--- docs/setup/config_guide.md | 22 +++++++----- tools/init_vars.yml | 46 -------------------------- 4 files changed, 16 insertions(+), 63 deletions(-) delete mode 100644 tools/init_vars.yml diff --git a/docs/setup/07-install_cluster_addon.md b/docs/setup/07-install_cluster_addon.md index 181d9c8..a664d43 100644 --- a/docs/setup/07-install_cluster_addon.md +++ b/docs/setup/07-install_cluster_addon.md @@ -3,7 +3,7 @@ 目前挑选一些常用、必要的插件自动集成到安装脚本之中: - [自动脚本](../../roles/cluster-addon/tasks/main.yml) - 配置开关 - - 参照[配置指南](config_guide.md),生成后在`roles/cluster-addon/vars/main.yml`配置 + - 参照[配置指南](config_guide.md),生成后在`roles/cluster-addon/defaults/main.yml`配置 ## 脚本介绍 diff --git a/docs/setup/08-cluster-storage.md b/docs/setup/08-cluster-storage.md index 8d82b16..168b654 100644 --- a/docs/setup/08-cluster-storage.md +++ b/docs/setup/08-cluster-storage.md @@ -11,7 +11,7 @@ 本篇以介绍 **NFS存储** 为例,讲解k8s 众多存储方案中的一个实现。 ## 静态 PV -首先我们需要一个NFS服务器,用于提供底层存储。通过文档[nfs-server](nfs-server.md),我们可以创建一个NFS服务器。 +首先我们需要一个NFS服务器,用于提供底层存储。通过文档[nfs-server](../guide/nfs-server.md),我们可以创建一个NFS服务器。 - 创建静态 pv,指定容量,访问模式,回收策略,存储类等;参考[这里](https://github.com/feiskyer/kubernetes-handbook/blob/master/zh/concepts/persistent-volume.md) @@ -42,12 +42,7 @@ spec: 项目中的 `role: cluster-storage`目前支持自建nfs 和aliyun_nas 的动态`provisioner` -- 1.更新项目源码,生成自定义配置文件(该配置文件被.gitignore忽略) - -``` bash -$ ansible-playbook /etc/ansible/tools/init_vars.yml -``` -- 2.编辑自定义配置文件:上述命令执行后生成的roles/cluster-storage/vars/main.yml +- 1.编辑自定义配置文件:上述命令执行后生成的roles/cluster-storage/defaults/main.yml ``` bash # 比如创建nfs provisioner diff --git a/docs/setup/config_guide.md b/docs/setup/config_guide.md index c5a8f4c..1b4168a 100644 --- a/docs/setup/config_guide.md +++ b/docs/setup/config_guide.md @@ -1,6 +1,6 @@ # 个性化集群参数配置 -简单来说,对于刚接触项目者,如"快速指南"说明,只需要: +对于刚接触项目者,如"快速指南"说明,只需要: - **1** 个配置:`/etc/ansible/hosts` - **1** 键安装:`ansible-playbook /etc/ansilbe/90.setup.yml` @@ -8,20 +8,24 @@ 具体来讲 `kubeasz`创建集群主要在以下两个地方进行配置: - ansible hosts 文件(模板在examples目录):集群主要节点定义和主要参数配置、全局变量 -- roles/xxx/vars/main.yml 文件:其他参数配置或者部分组件附加参数 +- roles/xxx/defaults/main.yml 文件:其他参数配置或者部分组件附加参数 ## ansible hosts -项目在[快速指南](quickStart.md)或者[集群规划与安装概览](00-planning_and_overall_intro.md)已经介绍过,主要包括集群节点定义和集群范围的主要参数配置;目前提供三种集群部署模板。 +项目在[快速指南](quickStart.md)或者[集群规划与安装概览](00-planning_and_overall_intro.md)已经介绍过,主要包括集群节点定义和集群范围的主要参数配置;目前提供四种集群部署模板。 - 尽量保持配置简单灵活 - 尽量保持配置项稳定 -## roles/xxx/vars/main.yml +## roles/xxx/defaults/main.yml -主要包括集群某个具体组件的个性化配置,具体组件的配置项可能会不断增加;项目初始时该配置与默认配置(`roles/xxx/defaults/main.yml`)一致;因 ansilbe 变量优先级关系,后续如果对 roles/xxx/vars/main.yml变量修改,那么它将覆盖默认配置。 - -- 需要初始化时使用 `ansible-playbook /etc/ansilbe/tools/init_vars.yml` 生成 -- 确保在不做任何配置更改情况下可以使用默认值创建集群 -- 被.gitignore忽略,修改后项目目录能够保持干净(`git status | clean`) +主要包括集群某个具体组件的个性化配置,具体组件的配置项可能会不断增加; +- 可以在不做任何配置更改情况下使用默认值创建集群 +- 可以根据实际需要配置 k8s 集群,常用举例 + - 配置 kube-proxy 使用 ipvs:修改 roles/kube-node/defaults/main.yml 变量 PROXY_MODE: "ipvs" + - 配置 lb 节点负载均衡算法:修改 roles/lb/defaults/main.yml 变量 BALANCE_ALG: "roundrobin" + - 配置 docker 国内镜像加速站点:修改 roles/docker/defaults/main.yml 相关变量 + - 配置 apiserver 支持公网域名:修改 roles/kube-master/defaults/main.yml 相关变量 + - 配置 flannel 使用镜像版本:修改 roles/flannel/defaults/main.yml 相关变量 + - 配置选择不同 addon 组件:修改roles/cluster-addon/defaults/main.yml diff --git a/tools/init_vars.yml b/tools/init_vars.yml deleted file mode 100644 index ee6ac5f..0000000 --- a/tools/init_vars.yml +++ /dev/null @@ -1,46 +0,0 @@ -# [可选]初始化集群设置脚本,使用请参考docs/setup/config_guide.md -# 如果创建集群时需要修改项目roles中默认配置,请执行本脚本后,编辑roles/xxx/vars/main.yml修改 - -- hosts: deploy - tasks: - - name: 创建变量配置目录 roles/xxx/vars - file: name={{ base_dir }}/roles/{{ item }}/vars state=directory - with_items: - - calico - - chrony - - cilium - - cluster-addon - - cluster-restore - - cluster-storage - - docker - - etcd - - flannel - - harbor - - helm - - kube-master - - kube-node - - kube-router - - lb - - - name: 复制默认配置以备修改 - copy: - src: "{{ base_dir }}/roles/{{ item }}/defaults/main.yml" - dest: "{{ base_dir }}/roles/{{ item }}/vars/main.yml" - force: "yes" - with_items: - - calico - - chrony - - cilium - - cluster-addon - - cluster-restore - - cluster-storage - - docker - - etcd - - flannel - - harbor - - helm - - kube-master - - kube-node - - kube-router - - lb -