背景 链接到标题 先介绍下 Kubespray,Kubespray 是 K8S SIG 下的项目,目标是帮助用户创建 生产环境级别 的 k8s 集群。
是通过 Ansible Playbook 实现的,是的,这又是一个 Ansible 项目,其中 YAML 文件就有 15k 行,名副其实的大项目。
花费了几天时间陆陆续续看完了整个项目,大概了解了其中的工作流程,具体内容不提,感觉 Ansible 90% 的使用例子都可以在这个项目中找到,是一个值得阅读的项目。
之前写过一篇当时理解的最佳实践,今天趁此机会再总结下最近使用 Ansible 的一些经验。
Tag 链接到标题 使用 tag 对 ansible task 进行划分,比如在重启某些服务的时候,我们只希望在初次安装的时候重启,在后续升级的时候不进行重启,那么我们就可以对这个重启服务的 task 进行tag 区分。
tag 使用示例如下:
[root@node111 16:35:56 ansible]$tree . . ├── ansible.cfg ├── inventory ├── templates │ └── src.j2 └── test.yaml 1 directory, 4 files [root@node111 16:35:58 ansible]$cat test.yaml - hosts: cluster gather_facts: no become: yes become_user: root become_method: sudo tasks: - yum: name: "{{ item }}" state: present loop: - httpd - memcached tags: - packages - template: src: templates/src.