K3s Ansible 项目使用教程
k3s-ansible项目地址:https://gitcode.com/gh_mirrors/k3sa/k3s-ansible
1. 项目的目录结构及介绍
K3s Ansible 项目的目录结构如下:
k3s-ansible/
├── README.md
├── Vagrantfile
├── ansible.cfg
├── inventory
│ ├── sample
│ │ ├── group_vars
│ │ │ └── all.yml
│ │ └── hosts.ini
│ └── vagrant
│ ├── group_vars
│ │ └── all.yml
│ └── hosts.ini
├── roles
│ ├── common
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ └── k3s-config.yaml.j2
│ └── k3s
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ │ └── k3s-config.yaml.j2
│ └── handlers
│ └── main.yml
└── site.yml
目录结构介绍
README.md
: 项目说明文档。Vagrantfile
: 用于本地测试的 Vagrant 配置文件。ansible.cfg
: Ansible 配置文件。inventory
: 库存文件目录,包含样本和 Vagrant 环境的配置。sample
: 样本库存文件。group_vars
: 组变量文件。all.yml
: 所有节点的通用变量。
hosts.ini
: 主机配置文件。
vagrant
: Vagrant 环境的库存文件。group_vars
: 组变量文件。all.yml
: 所有节点的通用变量。
hosts.ini
: 主机配置文件。
roles
: Ansible 角色目录。common
: 通用角色。tasks
: 任务目录。main.yml
: 主要任务文件。
templates
: 模板目录。k3s-config.yaml.j2
: K3s 配置模板。
k3s
: K3s 角色。tasks
: 任务目录。main.yml
: 主要任务文件。
templates
: 模板目录。k3s-config.yaml.j2
: K3s 配置模板。
handlers
: 处理程序目录。main.yml
: 主要处理程序文件。
site.yml
: 主 Playbook 文件。
2. 项目的启动文件介绍
site.yml
site.yml
是主 Playbook 文件,用于定义整个 Ansible 剧本的执行流程。它通常包含多个角色和任务的调用。
---
- name: Deploy K3s cluster
hosts: all
become: true
roles:
- common
- k3s
Vagrantfile
Vagrantfile
用于本地测试,通过 Vagrant 创建一个包含多个节点的 K3s 集群。
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/focal64"
(1..5).each do |i|
config.vm.define "node#{i}" do |node|
node.vm.hostname = "node#{i}"
node.vm.network "private_network", ip: "192.168.56.#{10+i}"
node.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = "2"
end
end
end
end
3. 项目的配置文件介绍
ansible.cfg
ansible.cfg
是 Ansible 的配置文件,用于设置 Ansible 的全局配置选项。
[defaults]
inventory = inventory/sample/hosts.ini
remote_user = vagrant
host_key_checking = False
inventory/sample/group_vars/all.yml
all.yml
文件包含所有节点的通用变量,用于配置 K3s 集群的参数。
k3s-ansible项目地址:https://gitcode.com/gh_mirrors/k3sa/k3s-ansible