如何解决Kubespray和Ansible,如何分隔配置即清单和其他配置文件
首先,我是一个完整的ansible剧本新手。我正忙于了解工作场所的混乱情况。我尝试遵循自述文件的快速入门指南,同时也遵循我公司的kubespray fork。现在让我真正困扰的一件事是,我们的个人集群的配置在整个分支中都是乱七八糟的。无法将我的集群个人配置文件与kubespray存储库分开?我的想法是,我有一个kubespray目录,该目录是kubespray存储库的分支或主目录,并且在运行“ kubespray”时,我将集群的配置提供给kubespray。因为当前我看不到这是一种使用提交维护群集资源的干净且可管理的方法,同时当我想应用新版本时也尝试更新kubespray。当前的过程似乎一团糟!
解决方法
所以我最终找到了一个很好的解决方案,可以从 kubespray 存储库中推断出自定义的个人配置。我认为这对于经验丰富的 Ansible 用户来说实际上很明显,但结构如下。
.
├── README.md
├── bin
├── docs
├── inventory
│ └── prod
│ ├── group_vars
│ │ ├── all
│ │ │ ├── all.yml
│ │ │ ├── azure.yml
│ │ │ ├── coreos.yml
│ │ │ ├── docker.yml
│ │ │ ├── oci.yml
│ │ │ └── openstack.yml
│ │ ├── balance.yml
│ │ ├── etcd.yml
│ │ └── k8s-cluster
│ │ ├── addons.yml
│ │ ├── ip.yml
│ │ ├── k8s-cluster.yml
│ │ ├── k8s-net-calico.yml
│ │ ├── k8s-net-canal.yml
│ │ ├── k8s-net-cilium.yml
│ │ ├── k8s-net-contiv.yml
│ │ ├── k8s-net-flannel.yml
│ │ ├── k8s-net-kube-router.yml
│ │ └── k8s-net-weave.yml
│ └── hosts.ini
└── kubespray
现在在主目录中你可以像这样运行你的 kubespray 命令
ansible-playbook \
$(pwd)/kubespray/scale.yml \
--inventory $(pwd)/inventory/prod/hosts.ini \
--user root \
--become \
--become-user=root \
--limit=$node \
--extra-vars 'ansible_python_interpreter=/usr/bin/python3' \
--flush-cache
这种结构的好处在于,您现在可以使用 git 仅跟踪对基础架构的更改,而不必担心干预 Kubespray 中的文件。此外,通过将 kubespray 作为 gitsubmodule,您还可以使用服务器配置跟踪不同版本。只是一般的 git 优点。
无论如何,我希望有人觉得这很有用。我已经使用了几个月,发现它比在 kubespray 模块中进行配置要干净得多。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。