simplygeekuk.vmware_deploy_vcsa
vmware_deploy_vcsa
OVAからVMware vCenter Server Applianceをデプロイします。
以下の設定が可能です:
- rootアカウントの有効期限を更新하거나、無期限に設定。
- Syslogを設定。
- アプライアンスをADドメインに参加させ、アイデンティティソースを設定。
- CA署名証明書をインポート。
- vCenterの一般設定と統計設定を構成。
- サービスの開始と停止。
- グローバル権限を割り当て。
- vCenter管理者と読み取り専用ユーザーを割り当て。
- vCenterライセンスを割り当て。
- データセンターを作成。
- クラスターを作成し、HA、DRS、vSANを設定。
- vSANライセンスを割り当て(実験的)。
- ESXiホストを追加。
- ESXiライセンスを割り当て。
サポートされているVMware vCenter Server
- VMware vCenter Server Appliance (VCSA) 6.5
- VMware vCenter Server Appliance (VCSA) 6.7
要件
- python >= 2.6
- PyVmomi
ロール変数
ホスト変数に定義が必要な必須パラメーター:
ネットワーク設定
アプライアンスのネットワーク設定を設定します。
network_ip_address: "x.x.x.x"
network_label: "VM Network"
network_prefix: "xx"
network_gateway: "x.x.x.x"
資格情報とアクセス
アプライアンスのSSH管理者ユーザー名とパスワードを設定します。
vcsa_admin_username: "root"
vcsa_admin_password: "VMwar3!!"
SSO管理者ユーザー名とパスワードを設定します。
vcsa_sso_username: "[email protected]"
vcsa_sso_password: "VMwar3!!"
Ansible接続変数を設定します(そのまま使用)。
ansible_user: "{{ vcsa_admin_username }}"
ansible_password: "{{ vcsa_admin_password }}"
ansible_host: "{{ network_ip_address }}"
追加変数またはgroup_varsまたはhost_varsで定義が必要な必須パラメーター:
OVAデプロイメント変数
OVAデプロイメント変数を設定します。
ova_deployment_hostname: "vcenter/esxi hostname"
ova_deployment_username: "vcenter/esxi username"
ova_deployment_password: "vcenter/esxi password"
ターゲットデータストアを設定します。データストアクラスタはサポートされていません。
ova_deployment_datastore: "datastore"
vCenter Serverにデプロイする場合のみ必要です。フォルダが未定義の場合、アプライアンスはデフォルトフォルダにデプロイされます。
ova_deployment_datacenter: "vcenter datacenter"
ova_deployment_cluster: "vcenter cluster"
ova_deployment_folder: "vcenter folder"
OVA設定
OVAファイル名を設定します。
ova_file: "ova_file.ova"
OVAファイルへのローカルパスを設定します(先頭に/は不要)。
ova_path: "/path/to/ova_file"
DNS設定
使用するDNSドメインを設定します。
dns_domain: "example.com"
使用可能なDNSサーバーのリストを提供します。
dns_servers:
- "x.x.x.x"
- "x.x.x.x"
追加変数またはgroup_varsまたはhost_varsで定義可能なオプションのパラメーター:
OVAダウンロード設定
OVAファイルのURLを設定します。 'ova_source'が'http' に設定されている場合(先頭に/は不要)。 'ova_source'変数は、vmware_deploy_ovaロールでデフォルトで'local'に設定されており、上書き可能です。
ova_url: "http[s]://example.com/ova"
rootアカウントポリシー
rootアカウントポリシーを設定します。デフォルト設定を上書きするために以下の変数を設定します。
vcsa_root_expiration_disable: no
vcsa_root_expiration_days: 90
CA署名証明書のインポート
CA署名された証明書をインポートする場合は、'vcsa_use_signed_certificate'を 'yes' に設定してください。デフォルトは 'no' です。
vcsa_use_signed_certificate: no
この設定が有効な場合、次の証明書が必要で、ロール用の'files/certs'フォルダーに配置する必要があります:
- ホスト証明書(ファイル名は 'hostname.pem')。ホスト名はインベントリに設定されたものと一致する必要があります。PEMファイルにはホスト証明書とCAチェーンを含める必要があります。
- ホスト証明書キー(ファイル名は 'hostname.key')。ホスト名はインベントリに設定されたものと一致する必要があります。暗号化されている場合は、未暗号化のファイルでなければなりません。
- CAルート証明書(ファイル名は 'ca.crt')。
Active Directoryドメインメンバーシップ
アプライアンスがActive Directoryドメインに参加するかどうかを設定します。デフォルトは 'no' ですが、以下の変数を 'yes' に設定することで上書き可能です。
vcsa_join_to_domain: no
'vcsa_join_to_domain'が 'yes' に設定されている場合のActive Directoryメンバーシップ設定。
vcsa_ad_dom_join_domain: "ad.domain.local"
vcsa_ad_dom_join_username: "[email protected]"
vcsa_ad_dom_join_password: "VMwar3!!"
ADコンピュータオブジェクトを作成するOUも指定できます。デフォルトコンテナを使用する場合はこれを設定しないでください。
vcsa_ad_dom_join_ou: "CN=Computers,DC=AD,DC=DOMAIN,DC=LOCAL"
vCenterライセンスキーの適用
vCenter Serverに適用するべきvCenterライセンスキーを設定します。
vcsa_license_key: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
vCenterサービス
開始すべきサービスのリスト
以下の変数を設定して、自動的に開始すべきサービスのリストを設定します。提供されたリストは一例です。
vcsa_services_to_start:
- updatemgr
- vsphere-ui
- content-library
- vapi-endpoint
停止すべきサービスのリスト
以下の変数を設定して、手動で停止すべきサービスのリストを設定します。提供されたリストは一例です。
vcsa_services_to_stop:
- rbd
- imagebuilder
vCenter権限
グローバル管理者の定義
以下の変数を設定して、'グローバル管理者'権限を持つべきグループのリストを設定します。これらの権限を適用するためには、アプライアンスがActive Directoryドメインに参加している必要があります。グループは、アプライアンスが参加したActive Directoryドメインから発見されます。
vcsa_global_admin_groups:
- "vSphere-Gloabl-Admins"
vCenter管理者の定義
以下の変数を設定して、vCenter Serverに'管理者'ロールを割り当てるべきグループのリストを設定します。これらの権限を適用するためには、アプライアンスがActive Directoryドメインに参加している必要があります。グループは、アプライアンスが参加したActive Directoryドメインから発見されます。
vcsa_vcenter_admin_groups:
- "vSphere-Admins"
vCenter読み取り専用ユーザーの定義
以下の変数を設定して、vCenter Serverに'読み取り専用'ロールを割り当てるべきグループのリストを設定します。これらの権限を適用するためには、アプライアンスがActive Directoryドメインに参加している必要があります。グループは、アプライアンスが参加したActive Directoryドメインから発見されます。
vcsa_vcenter_readonly_groups:
- "vSphere-ReadOnly"
vCenter設定
以下の変数を使用して、vCenter設定を構成できます。すべての表示値はデフォルト設定です。
データベース設定
以下の変数を使用して、vCenterデータベース設定を構成します。
vcsa_database_max_connections: 50
vcsa_task_cleanup: true
vcsa_task_retention: 30
vcsa_event_cleanup: true
vcsa_event_retention: 30
ランタイム設定
以下の変数を使用して、vCenterランタイム設定を構成します。
vcsa_unique_id: 1
ユーザーディレクトリ設定
以下の変数を使用して、vCenterユーザーディレクトリ設定を構成します。
vcsa_user_directory_timeout: 60
vcsa_user_directory_query_limit: true
vcsa_user_directory_query_limit_size: 5000
vcsa_user_directory_validation: true
vcsa_user_directory_validation_period: 1400
メールサーバー設定
以下の変数を使用して、vCenterメール設定を構成します。
vcsa_mail_server: ""
vcsa_mail_sender: ""
SNMP受信者設定
以下の変数を使用して、vCenterのSNMP受信者設定を構成します。
vcsa_snmp_receiver_url: "localhost"
vcsa_snmp_receiver_enabled: true
vcsa_snmp_receiver_port: 162
vcsa_snmp_receiver_community: "public"
タイムアウト設定
以下の変数を使用して、vCenterタイムアウト設定を構成します。
vcsa_normal_operations_timeout: 30
vcsa_long_operations_timeout: 120
ログ設定
以下の変数を使用して、vCenterログ設定を構成します。
vcsa_logging_level: "info"
統計設定
以下の変数を使用して、vCenter統計設定を構成します。
vcsa_interval_past_day_level: 1
vcsa_interval_past_week_level: 1
vcsa_interval_past_month_level: 1
vcsa_interval_past_year_level: 1
インベントリ設定
以下の変数を使用して、vCenter Serverインベントリにデータセンター、クラスター、ESXiホストなどのオブジェクトを作成します。
データセンターを作成
以下の変数を設定して、作成すべきデータセンターのリストを設定します。提供されたリストは一例です。
vcsa_datacenters:
- DC1
- DC2
クラスターを作成
以下の変数を設定して、作成すべきクラスターのリストを設定します。提供されたリストは例です。クラスター設定はデフォルト値を使用するために省略可能です('Cluster-02'の例に従う)。'vsan_license_key'が提供されない場合、デフォルトの評価ライセンスが使用されます。
vcsa_clusters:
- name: "Cluster-01"
datacenter: "DC1"
enable_ha: yes
ha_vm_monitoring: "vmMonitoringOnly"
enable_drs: yes
drs_vm_behavior: "fullyAutomated"
enable_vsan: no
vsan_license_key: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
vsan_autoclaim_storage: no
- name: "Cluster-02"
datacenter: "DC1"
ESXiホストを追加
以下の変数を設定して、追加すべきESXiホストのリストを設定します。提供されたリストは一例です。'license_key'が提供されない場合、デフォルトの評価ライセンスが使用されます。
vcsa_esxi_hosts:
- hostname: "esxi01.domain.local"
datacenter: "DC1"
cluster: "Cluster-01"
license_key: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
- hostname: "esxi02.domain.local"
datacenter: "DC1"
cluster: "Cluster-01"
各ESXiホストも以下のhost_vars変数を設定することでAnsibleインベントリに追加できます。これにより、ホストごとに変数を設定できます。
esxi_admin_username: "root"
esxi_admin_password: "VMwar3!!"
esxi_license_key: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
すべてのESXiホストにグローバル資格情報を使用する場合は、以下の資格情報変数をgroup_varに設定します。
default_esxi_admin_username: "root"
default_esxi_admin_password: "VMwar3!!"
'esxi_admin_username'と'esxi_admin_password'は常にデフォルトの設定を上書きします。
追加のデフォルト変数
以下の追加のデフォルト変数も設定されており、group_varで設定することで上書き可能です。
使用されるNTPサーバーのデフォルトリスト。
ntp_servers:
- "0.pool.ntp.org"
- "1.pool.ntp.org"
- "2.pool.ntp.org"
- "3.pool.ntp.org"
HTTP REST API変数
http_content_type: "application/json"
http_accept: "application/json"
http_validate_certs: no
http_body_format: "json"
VCSAアプライアンスに接続するときの証明書検証を有効にするデフォルト。
vcsa_validate_certs: no
依存関係
- { role: simplygeekuk.vmware_deploy_ova, tags: [ 'deploy' ] }
例のプレイブック
```
- hosts: vcsa_appliances
become: no
gather_facts: False
roles:
- simplygeekuk.vmware_deploy_vcsa
```
ライセンス
MIT
著者情報
Gavin Stephens (https://www.simplygeek.co.uk)