tosin2013.kvm_cloud_init_vm
Ansible 角色:在 KVM 上部署 cloud init 镜像
此角色帮助在 KVM 上部署新的 CentOS 7 虚拟机。
详细信息
- 下载 cloud init 镜像。
- 生成 cloud init 用户/元数据和引导 ISO。
- 增加根存储大小至 20G。
- 清理 CD-ROM/引导 ISO/用户/元数据。
- 兼容 ovsswitch。
- 将 deploy_kvm.sh 脚本添加到代码库中。
新用法
- 编辑 generic_server 模板。
- 运行 deploy_kvm.sh 脚本。
sudo ./deploy_kvm.sh kvm_generation_configs/generic_server
- 运行 Ansible playbook。
ansible-playbook exampleplaybook.yml
已测试的 Cloud Init 镜像
- CentOS
要求
无
角色变量
名称 | 默认值 | 必需 | 描述 |
---|---|---|---|
kvm_install_host | localhost | 否 | KVM 安装的主机 |
kvm_vm_pool_dir | /var/lib/libvirt/images | 否 | KVM 虚拟机镜像的存储路径 |
vm_data_dir | /root/kvm/vms | 否 | VM 信息的存储路径 |
vm_recreate | true | 否 | 如果相同的虚拟机存在,则设置为 false |
cloud_init_vm_image | CentOS-7-x86_64-GenericCloud.qcow2 | 否 | Cloud init 镜像名称 |
cloud_init_vm_image_link | https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1809.qcow2 | 否 | Cloud init 镜像下载链接 |
cloud_init_user_data | {{vm_data_dir}}/{{vm_name}}/user-data | 否 | Cloud init 用户数据文件 |
cloud_init_meta_data | {{vm_data_dir}}/{{vm_name}}/meta-data | 否 | Cloud init 元数据文件 |
cloud_init_iso_image | {{vm_data_dir}}/{{vm_name}}/cidata.iso | 否 | Cloud init 引导镜像 |
vm_name | CentOS_Base | 否 | |
vm_local_hostname | base.example.com | 否 | 虚拟机内部主机名(可以与虚拟机主机名相同) |
vm_hostname | base.example.com | 否 | 虚拟机公共主机名 |
vm_public_key | {{lookup('file','~/.ssh/id_rsa.pub')}} | 否 | 登录虚拟机的 SSH 公钥(ocp/redhat、centos/(ssh)) |
vm_cpu | 2 | 否 | |
vm_memory | 2048 | 否 | |
vm_network_br | virbr0 | 否 | 虚拟机将使用的默认桥接名称 |
vm_root_disk_size | 20G | 否 |
依赖
无
示例 Playbook
- name: 示例 Playbook
hosts: localhost
gather_facts: false
tasks:
- import_role:
name: tosin2013.kvm_cloud_init_vm
许可证
BSD/MIT
作者信息
此角色由 Jooho Lee 在 2018 年创建。 由 Tosin Akinosho 修改。
安装
ansible-galaxy install tosin2013.kvm_cloud_init_vm
许可证
bsd-3-clause
下载
71
拥有者
Associate Principal Solution Architect RedHat. Enthusiast in Cloud, DevOps, and AI. Specializing in AWS, GCP, Azure, Docker, Kubernetes, and Terraform.