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 脚本添加到代码库中。

新用法

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 修改。

关于项目

Deploy a VM(CentOS7) using cloud-init on KVM

安装
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.