废弃ansible变量文件roles/xxx/vars/main.yml的配置方式

pull/478/head
gjmzj 2019-03-11 21:02:12 +08:00
parent b0ebd242a7
commit f7ebb5befe
4 changed files with 16 additions and 63 deletions

View File

@ -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`配置
## 脚本介绍

View File

@ -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

View File

@ -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

View File

@ -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