Terrible 项目使用教程
1. 项目目录结构及介绍
terrible/
├── examples/
├── pics/
├── roles/
│ └── terrible/
├── vars/
│ └── os/
│ └── family/
├── .dockerignore
├── .gitattributes
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── inventory-example.yml
├── main.yml
└── requirements.txt
目录结构介绍
- examples/: 存放示例文件的目录。
- pics/: 存放图片文件的目录。
- roles/terrible/: 存放与
terrible
角色相关的文件和配置。 - vars/os/family/: 存放与操作系统家族相关的变量文件。
- .dockerignore: Docker 构建时忽略的文件列表。
- .gitattributes: Git 属性配置文件。
- .gitignore: Git 忽略文件列表。
- Dockerfile: Docker 构建文件。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文件。
- inventory-example.yml: 示例库存文件。
- main.yml: 项目主配置文件。
- requirements.txt: 项目依赖文件。
2. 项目启动文件介绍
main.yml
main.yml
是项目的启动文件,包含了 Ansible 的主要配置和任务。它负责初始化和部署整个基础设施。以下是 main.yml
的主要内容:
- name: Initialize and deploy infrastructure
hosts: all
tasks:
- name: Include role 'terrible'
include_role:
name: terrible
启动流程
- 初始化: 通过
main.yml
文件初始化基础设施。 - 部署: 使用 Ansible 和 Terraform 部署基础设施。
3. 项目配置文件介绍
inventory-example.yml
inventory-example.yml
是一个示例库存文件,用于描述要部署的虚拟机和相关配置。以下是文件的基本结构:
all:
vars:
ansible_connection: local
hosts:
terraform_node:
ansible_host: 127.0.0.1
children:
deploy:
vars:
pool_name: default
children:
group_1:
hosts:
host_1:
os_family: RedHat
cpu: 4
memory: 8192
hypervisor: hypervisor_1
network_interfaces: []
group_2:
hosts:
host_2:
os_family: RedHat
cpu: 2
hypervisor: hypervisor_1
host_3:
os_family: Suse
disk_source: "~/VirtualMachines/opensuse15.2-terraform.qcow2"
cpu: 4
memory: 4096
set_new_passowrd: password123
hypervisor: hypervisor_1
network_interfaces: []
配置文件说明
- all: 定义所有主机的全局变量。
- hosts: 定义具体的虚拟机配置,包括操作系统、CPU、内存、网络接口等。
- children: 定义子组和子组的变量。
通过 inventory-example.yml
文件,用户可以自定义虚拟机的配置,以满足不同的部署需求。