mbach04.nutanix_vm_provisioner

Nutanix VM プロビジョナー

Nutanix AHV上でAPIv3を使用して仮想マシンをプロビジョニングするための基本的なAnsibleロールです。

必要な変数

api_version: "3.0"          # Nutanixはv2 APIから移行しているため、可能であればv3を使用するのがベスト
cluster_url: 172.16.1.100   # 通常PRISMにログインするIPアドレス
prism_user: admin           # クラスターでプロビジョニングできる権限を持つアカウント
prism_password: secret      # あなたのアカウントのパスワード。注意、平文で保存するべきではなく、Ansible vaultを使用してください。

cluster_name: "Your Cluster"      # プロビジョニングするクラスタの名前
subnet_name: "VMNet"              # VMを追加するサブネット(VLAN)の名前
image_name: "RHEL_Server_7.5"     # 使用するディスクイメージまたはISOの名前

# 作成したいVMを定義する辞書のリスト
# このリストをいくつかの別々のリストに分けて、ロールを呼び出すときにvm_defsをオーバーライドして
# 複数のVMセットをループすることができます。
vm_defs:
  - {vm_name: my-vm-01, vm_ip: '172.16.1.111', vm_ram: 8192, vm_num_cpu_per_socket: 1, vm_num_sockets: 1, vm_disk_list: [disk_size_mib: 152588]}

Cloud-init

ゲストカスタマイズ(この場合はcloud-init)を使用したくない場合は、templates/vm-body.yml.j2ファイルから guest_customization セクションを削除するか、変数化して変更をこのリポジトリに提出してください。 :-)

cloud-initスクリプトを使用してユーザーパスワードを設定するためにロールを使用したい場合も可能ですが(最善のセキュリティプラクティスではありません)。

RHELホストで以下のコマンドを使用して、cloud_init_root_passとして使用するSHA-512ハッシュパスワードを生成できます。

python -c 'import crypt,getpass; print crypt.crypt(getpass.getpass())'

生成された文字列をgroup_vars/*/all.yamlcloud_init_root_pass に設定してください。

例のプレイブック

---
- name: 仮想マシンのプロビジョニング
  hosts: localhost
  gather_facts: false
  vars:
    my_vms:
      - {vm_name: server1, vm_ip: '172.29.171.100', vm_ram: 4096, vm_num_cpu_per_socket: 1, vm_num_sockets: 4, vm_disk_list: [disk_size_mib: 76294, disk_size_mib: 152588]}
      - {vm_name: server2, vm_ip: '172.29.171.101', vm_ram: 4096, vm_num_cpu_per_socket: 1, vm_num_sockets: 4, vm_disk_list: [disk_size_mib: 76294, disk_size_mib: 152588]}
  tasks:
    - name: Nutanix上でVMをプロビジョニング
      include_role:
        name: nutanix_provisioner
      vars:
        vm_defs: "{{ my_vms }}"

ライセンス

MITライセンスの下にライセンスされています。詳細についてはLICENSEファイルを参照してください。

著者情報

Red HatのMatthew BachとTimothy Lingによって作成されました。

プロジェクトについて

NAPS Team

インストール
ansible-galaxy install mbach04.nutanix_vm_provisioner
ライセンス
mit
ダウンロード
325
所有者
Rusty Python and Golang hobbyist, Automation dude, Rick and Morty Fan