Automation Assembler 支援與 Puppet Enterprise、Ansible 開放原始碼和 Ansible Tower 整合,以便您可以針對組態和偏差管理部署。
Puppet 整合
若要整合以 Puppet 為基礎的組態管理,您必須安裝在具有 vSphere 工作負載的公有或私有雲上安裝有效的 Puppet Enterprise 執行個體。您必須在此外部系統和 Automation Assembler 執行個體之間建立連線。然後,您可以透過將 Puppet 組態管理新增至適當的藍圖,使其可供 Automation Assembler 使用。
Automation Assembler 藍圖服務 Puppet 提供者會在已部署的計算資源上安裝、設定和執行 Puppet 代理程式。Puppet 提供者同時支援 SSH 和 WinRM 連線,並具備下列必要條件:
- SSH 連線:
- 若要執行具有 NOPASSWD 的命令,使用者名稱必須是超級使用者或具有 sudo 權限的使用者。
- 對指定的使用者停用 requiretty。
- cURL 必須在部署計算資源上可用。
- WinRM 連線:
- PowerShell 2.0 必須在部署計算資源上可用。
- 設定 Windows 範本,如 VMware Aria Automation Orchestrator 說明文件中所述。
DevOps 管理員負責管理 Puppet Master 連線,以及將 Puppet 角色或組態規則套用至特定的部署。執行下列部署後,設定為支援組態管理的虛擬機器將登錄到指定的 Puppet Master。
部署虛擬機器時,使用者可以新增或刪除做為外部系統的 Puppet Master 或更新指派給 Puppet Master 的專案。最後,當機器解除委任時,適當的使用者可以從 Puppet Master 解除登錄已部署的虛擬機器。
Ansible 開放原始碼整合
設定 Ansible 整合時,請按照 Ansible 安裝指示安裝 Ansible 開放原始碼。如需有關安裝的詳細資訊,請參閱 Ansible 說明文件。
[defaults] host_key_checking = False localhost_warning = False [paramiko_connection] record_host_keys = False [ssh_connection] #ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s ssh_args = -o UserKnownHostsFile=/dev/null
若要避免主機金鑰檢查錯誤,請將 host_key_checking
和 record_host_keys
設定為 False,並新增在 ssh_args
中設定的額外選項 UserKnownHostsFile=/dev/null
。此外,如果詳細目錄一開始為空白,則 Ansible 會發出主機清單為空白的警告。這會導致 playbook 語法檢查失敗。
透過 Ansible 保存庫,您可以在加密的檔案中而非純文字格式儲存敏感資訊 (例如密碼或金鑰)。保存庫使用密碼進行加密。在 Automation Assembler 中,Ansible 使用保存庫對主機的 ssh 密碼等資料進行加密。它會假設已設定保存庫密碼的路徑。
您可以修改 ansible.cfg 檔案,以使用下列格式指定密碼檔案的位置。
vault_password_file = /path to/file.txt
也可以設定 ANSIBLE_VAULT_PASSWORD_FILE
環境變數,以便 Ansible 自動搜尋密碼。例如,ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
Automation Assembler 管理 Ansible 詳細目錄檔案,因此您必須確保 Automation Assembler 使用者對詳細目錄檔案具有 rwx 存取權。
cat ~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/log.txt
Defaults:myuser !requiretty
myuser ALL=(ALL) NOPASSWD: ALL
如果在設定 Ansible 整合時遇到錯誤或其他問題,請參閱位於 Ansible 控制機器上的 ‘cat~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/’ 中的 log.txt 檔案。
Ansible Tower 整合
- Red Hat Enterprise Linux 8.0 或更新版本 64 位元 (x86),僅支援 Ansible Tower 3.5 及更高版本。
- Red Hat Enterprise Linux 7.4 或更新版本 64 位元 (x86)。
- CentOS 7.4 或更新版本 64 位元 (x86)。
下列是在 Ansible Tower 安裝期間產生的範例詳細目錄檔案。您可能需要對其進行修改以用於 Automation Assembler 整合。
[root@cava-env8-dev-001359 ansible-tower-setup-bundle-3.5.2-1.el8]# pwd /root/ansible-tower-install/ansible-tower-setup-bundle-3.5.2-1.el8 [root@cava-env8-dev-001359 ansible-tower-setup-bundle-3.5.2-1.el8]# cat inventory [tower] localhost ansible_connection=local [database] [all:vars] admin_password='VMware1!' pg_host='' pg_port='' pg_database='awx' pg_username='awx' pg_password='VMware1!' rabbitmq_port=5672 rabbitmq_vhost=tower rabbitmq_username=tower rabbitmq_password='VMware1!' rabbitmq_cookie=cookiemonster # Needs to be true for fqdns and ip addresses rabbitmq_use_long_name=false # Isolated Tower nodes automatically generate an RSA key for authentication; # To deactivate this behavior, set this value to false # isolated_key_generation=true