cybergavin.nutanix_vm_create
Ansibleロール名 - cybergavin.nutanix_vm_create
このAnsibleロールは、単一のNutanixクラスター上で1台または複数のVMを作成することを可能にします。
特徴
- 異なるディスクイメージからのVMのプロビジョニングを許可
- 異なるサブネット内でのVMのプロビジョニングを許可
- 作成されたVMのIPアドレスを含むインベントリファイルを生成し、他のプレイブックで使用可能
- 有効にすると、プロビジョニング後にVMにNutanix Guest Toolsをマウントして有効化
注意:
- デフォルトではUEFIブート設定でVMを作成します。これは、vars/main.ymlの変数ファイルでグローバルに上書き可能です。
要件
- ユーザーが提供した、1台以上のVMの仕様を含むカンマ区切り値ファイル。ロールディレクトリ内のサンプルファイル/files/vm.csvを参照してください。
- ユーザーが提供した必要な変数の適切な値を含む変数ファイル。
ロール変数
- pc_cluster_fqdn # Prism CentralのFQDN/IP
- cluster_name # VMが作成されるNutanixクラスターの名前
- vm_data_csv # デプロイされるVMの詳細を含むカンマ区切り値ファイルの相対パスと名前
- global_debug # グローバルデバッグフラグ (boolean)
- enable_ngt # Nutanix Guest Toolsを有効にしますか? (boolean)
- boot_type # すべてのVMのブートタイプ - "UEFI" (デフォルト)、"LEGACY" または "SECURE_BOOT"
依存関係
なし
テスト環境:
- Ansible 2.9
- Nutanix AOS 5.15.4
- AHV 20190916.360
インストール後の使用例
ステップ 1: 次の例に従ってvars/main.ymlファイルを作成します。
pc_cluster_fqdn: "prismcentral.contoso.com" # Prism CentralのFQDN/IP
cluster_name: "mynutanix" # VMが作成されるNutanixクラスターの名前
vm_data_csv: "files/vm.csv" # デプロイされるVMの詳細を含むカンマ区切り値ファイルの相対パスと名前
global_debug: false # グローバルデバッグフラグ
ステップ 2: 次の例に従ってfiles/vm.csvファイルを作成します。
vm_name,ip,subnet_name,image_name,num_vcpu,memory_mib,disk_list_mib
testvm,10.1.1.10,webnet,rhel8-image,2,4096,10240-20480
ステップ 3: 次の例に従ってプレイブックmain.ymlファイルを作成します。
---
- name: Nutanix AHV上にVMを作成する
hosts: localhost
connection: local
gather_facts: false
vars_prompt:
- name: prism_user
prompt: Prism Centralにアクセスするためのユーザー名を入力してください
private: no
- name: prism_password
prompt: 上記ユーザーのパスワードを入力してください
unsafe: yes
private: yes
tasks:
- name: 変数を含める
include_vars: dir=vars
- name: Ansibleロールcybergavin.nutanix_vm_createを使用する
include_role:
name: cybergavin.nutanix_vm_create
注意: 上記のプレイブックの例では、vars_promptを使用してユーザーにPrismの資格情報を求めます。これらの資格情報をボールトで使用する場合や他の手段で受け取る場合は、prism_userとprism_password変数に保存してください。
ステップ 4: 次の例に従ってプレイブックを実行します。
ansible-playbook main.yml
注意:
- 作成されたVMのIPアドレスを含むインベントリファイルfiles/inventoryが生成されます。
- NGTを有効にしたい場合は、vars/main.ymlに"enable_ngt: true"を設定することもできます。
ライセンス
GPLv3.0
著者情報
Cybergavin - https://cybergav.in - https://github.com/cybergav.in
参考文献
- Ansibleロールmbach04.nutanix_vm_provisionerから影響を受けたものです。リンク: https://github.com/mbach04/nutanix_vm_provisioner
- Ansibleロールmbach04.nutanix_vm_provisionerは、Copyright (c) 2018 Red HatのMITライセンスでライセンスされています。