RKE2 Ansible 项目教程
1. 项目的目录结构及介绍
RKE2 Ansible 项目的目录结构如下:
rke2-ansible/
├── CHANGELOG.md
├── LICENSE
├── README.md
├── ansible.cfg
├── collections
│ └── requirements.yml
├── docs
│ └── README.md
├── inventory
│ ├── group_vars
│ │ └── all.yml
│ └── hosts.ini
├── roles
│ ├── rke2_common
│ │ ├── defaults
│ │ │ └── main.yml
│ │ ├── handlers
│ │ │ └── main.yml
│ │ ├── meta
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ ├── templates
│ │ │ └── rke2-config.yaml.j2
│ │ └── vars
│ │ └── main.yml
│ ├── rke2_server
│ │ ├── defaults
│ │ │ └── main.yml
│ │ ├── handlers
│ │ │ └── main.yml
│ │ ├── meta
│ │ │ └── main.yml
│ │ ├── tasks
│ │ │ └── main.yml
│ │ ├── templates
│ │ │ └── rke2-server.service.j2
│ │ └── vars
│ │ └── main.yml
│ └── rke2_agent
│ ├── defaults
│ │ └── main.yml
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ │ └── rke2-agent.service.j2
│ └── vars
│ └── main.yml
├── site.yml
└── requirements.yml
目录结构介绍
CHANGELOG.md
: 项目更新日志。LICENSE
: 项目许可证。README.md
: 项目说明文档。ansible.cfg
: Ansible 配置文件。collections/requirements.yml
: Ansible 集合需求文件。docs/README.md
: 文档说明。inventory/
: 库存文件目录。group_vars/all.yml
: 组变量文件。hosts.ini
: 主机配置文件。
roles/
: Ansible 角色目录。rke2_common/
: 通用角色。rke2_server/
: 服务器角色。rke2_agent/
: 代理角色。
site.yml
: 主 playbook 文件。requirements.yml
: 角色需求文件。
2. 项目的启动文件介绍
site.yml
site.yml
是 RKE2 Ansible 项目的主 playbook 文件。它定义了整个部署流程,包括服务器和代理的安装与配置。
---
- name: Deploy RKE2
hosts: all
become: true
roles:
- role: rke2_common
- role: rke2_server
when: inventory_hostname in groups['rke2_servers']
- role: rke2_agent
when: inventory_hostname in groups['rke2_agents']
启动流程
- rke2_common: 通用角色,包含所有节点的基础配置。
- rke2_server: 服务器角色,仅在服务器节点上执行。
- rke2_agent: 代理角色,仅在代理节点上执行。
3. 项目的配置文件介绍
ansible.cfg
ansible.cfg
是 Ansible 的配置文件,定义了 Ansible 的行为和设置。
[defaults]
inventory = inventory/hosts.ini
roles_path = roles
inventory/group_vars/all.yml
all.yml
文件定义了所有节点共享的变量。
---
rke2_version: v1.21.1+rke2r