若要設定並驗證 Automation Config 執行個體,請在 Salt 主節點上安裝 Salt 和主節點外掛程式,在 Cloud Services 主控台中產生 API Token,然後將 Salt 主節點連線至 Automation Config。您可以連線內部部署或雲端中的 Salt 主節點。

必要條件

在設定 Automation Config 之前,必須完成以下必要條件:
  • 確認您在 VMware Cloud Services 中具有以下角色:
    • 組織角色:組織擁有者或組織管理員
    • 服務角色:Salt 主節點
  • 將您的預設組織設定為有權存取 Automation Config 服務的組織。

設定概觀

設定 Automation Config 包括以下工作。

  1. 在 Salt 主節點和要使用 Automation Config 管理的節點上安裝 Salt。如需詳細資訊,請參閱步驟 1:安裝 Salt
  2. 在必須與 Automation Config 通訊的 Salt 主節點上安裝或升級主節點外掛程式。如需詳細資訊,請參閱步驟 2:安裝並設定主節點外掛程式
  3. 產生 API Token 以便 Salt 主節點能夠連線至 Automation Config。如需詳細資訊,請參閱步驟 3:產生 API Token
  4. 將 Salt 主節點連線至 Automation Config。如需詳細資訊,請參閱步驟 4: 將 Salt 主節點連線至 Automation Config
  5. 接受 Automation Config 使用者介面中的 Salt 主節點金鑰。如需詳細資訊,請參閱步驟 5:接受 Salt 主節點金鑰

步驟 1:安裝 Salt

必須在 Salt 主節點上安裝 Salt 主節點服務和 Salt 部屬節點服務,然後才能使用 Automation Config

在安裝 Salt 之前,請安裝任何所需的相依項。如需詳細資訊,請參閱《Salt 安裝指南》中的 〈安裝相依項〉。如需支援的 Salt 作業系統清單,請參閱 〈Salt 支援的作業系統〉
備註: Salt Open Project 文件由 VMware 進行維護。

以下說明如何在 RHEL 8 上安裝最新的 Salt 版本。如需在其他作業系統上安裝 Salt 的相關資訊,請參閱《Salt 安裝指南》

  1. 如果要在離線或安全環境中安裝 Salt,則必須設定網路 Proxy 以允許安裝 Salt 所需的以下 URL。
    • https://repo.saltproject.io
    • https://pypi.org
    • https://python.org
    透過網路 Proxy 確認網路活動,然後再繼續安裝。
  2. 在 Salt 主節點的終端機中,執行以下命令以安裝 Salt Project 存放庫和金鑰:
    sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/latest/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/salt/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
  3. 執行 sudo yum clean expire-cache
  4. 在 Salt 主節點上安裝 salt-minion 服務和 salt-master 服務:
    sudo yum install salt-master
    sudo yum install salt-minion
  5. /etc/salt/minion.d 目錄中建立 master.conf 檔案。
    touch master.conf
  6. master.conf 檔案中,將 Salt 主節點的 IP 位址設定為指向本身:
    master: localhost
  7. 啟動 Salt 主節點服務和 Salt 部屬節點服務:
    sudo systemctl enable salt-master && sudo systemctl start salt-master
    sudo systemctl enable salt-minion && sudo systemctl start salt-minion
  8. 如果使用網路 Proxy,請對網路設定相應地設定 HTTP_PROXYHTTPS_PROXY 變數。
    1. 如果使用 systemd 管理 Salt 主節點服務,請將 HTTP_PROXYHTTPS_PROXY 環境變數新增到 salt-master.service 檔案。
    2. 執行 systemctl daemon-reload
    3. 執行 systemctl restart salt-master 以重新啟動 Salt 主節點服務。

步驟 2:安裝並設定主節點外掛程式

在基礎結構上安裝 Salt 後,必須安裝並設定主節點外掛程式,以便 Salt 主節點能夠與 Automation Config 進行通訊。

如果已有 Salt 主節點,請先將主節點外掛程式升級到最新的可用版本,然後再將 Salt 主節點連線到 Automation Config。如需詳細資訊,請參閱使用 [主節點外掛程式] 工作區

安裝並設定主節點外掛程式:

  1. 登入 Salt 主節點。
  2. 主節點外掛程式工作區下載主節點外掛程式的最新版本。主節點外掛程式版本通常由四個數字組成,例如 8.12.1.2。
    重要:

    主節點外掛程式的版本必須與 Automation Config 版本的前三個數字匹配。例如,如果 Automation Config 版本為 8.12.1,則主節點外掛程式版本必須為 8.12.1.0 或更高版本。可以在主節點外掛程式工作區中找到 Automation Config 的版本。

  3. 手動安裝 Python wheel 以安裝主節點外掛程式。使用範例命令,取代 wheel 檔案的確切名稱:
    salt-call --local pip.install /path/to/SSEAPE-file-name.whl

    對於非氣隙環境,執行此命令時,如果相依性尚不存在,則會自動安裝這些相依性。對於氣隙環境,請參閱知識庫文章在氣隙系統上安裝 Salt 主節點外掛程式

  4. 產生主節點組態設定。
    1. 驗證 /etc/salt/master.d 目錄是否存在,或建立該目錄。
    2. 執行下列命令來產生主節點組態檔。
      sudo sseapi-config --all > /etc/salt/master.d/raas.conf

      如果執行此命令導致錯誤,請參閱〈對 Automation Config 進行疑難排解〉

  5. 重新啟動 Salt 主節點服務。
    sudo systemctl restart salt-master

步驟 3:產生 API Token

將 Salt 主節點連線到 Automation Config 之前,必須使用 Cloud Services 主控台產生 API Token。此 Token 用於透過 VMware Cloud Services 對 Salt 主節點進行驗證。

備註: 您必須在組織中具有 組織管理員角色才能完成此步驟。若要檢視您的組織角色,請開啟 Cloud Services 主控台,按一下您的使用者名稱,然後選取 我的帳戶 > 我的角色

如果您未指派有組織管理員角色,請連絡組織擁有者。

產生 API Token:

  1. 在 Cloud Services 主控台上,按一下您的使用者名稱,然後選取我的帳戶 > API Token
  2. 按一下產生 Token
  3. 完成表單。

    在 Cloud Services 主控台中產生 Token 表單

    1. 輸入 Token 的名稱。
    2. 選取 Token 的存留時間 (TTL)。預設持續時間為六個月。
      備註: 遭到入侵時,不會到期的 Token 可能存在安全性風險。如果發生這種情況,必須撤銷 Token。
    3. 定義 Token 的範圍。
      範圍 說明
      組織角色 組織角色決定了使用者對組織資源的存取權。

      若要存取 Automation Config 服務,您必須選取組織管理員組織擁有者角色。

      服務角色 服務角色是內建的預先定義權限集,可授與 VMware Cloud Services 的存取權。

      若要存取 Automation Config 服務,請搜尋 VMware Aria Automation 服務。

      按一下 Config 服務旁邊的下拉式箭頭,然後選取 Salt 主節點服務角色。

    4. (可選) 設定電子郵件喜好設定,以便在 Token 即將到期時接收提醒。
    5. 按一下產生

      新產生的 API Token 將顯示在已產生 Token 視窗中。

  4. 將 Token 認證儲存到安全位置。

    產生 Token 後,您將只能在 API Token 頁面上看到 Token 的名稱,而看不到認證。若要重新產生 Token,請按一下重新產生

步驟 4: 將 Salt 主節點連線至 Automation Config

產生 API Token 後,您可以使用它將 Salt 主節點連線至 Automation Config

連線 Salt 主節點:

  1. 在 Salt 主節點的終端機中,將 API Token 儲存為環境變數。
    export CSP_API_TOKEN=<api token value>
  2. 執行 sseapi-config join 命令,將 Salt 主節點連線到 Automation Config
    1. 如果您是首次將 Salt 主節點連線到 Automation Config,請執行以下命令,並將 ssc-urlcsp-url 值取代為特定於區域的 URL。
      sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    2. 如果要使用 sudo,請執行以下命令:
      sudo CSP_API_TOKEN=<api token value> sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    3. 如果需要重新執行加入程序,請重新執行 sseapi-config join 命令,並傳遞旗標 --override-oauth-app
      sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL> --override-oauth-app

      --override-oauth-app 旗標會刪除用於取得存取 Token 的 OAuth 應用程式並重新建立。

    表 1. Automation Config 的區域 URL
    區域 Automation Config URL Cloud Services URL
    美國 https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    德國 https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    印度 https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    加拿大 https://ca.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    澳大利亞 https://au.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    UK https://uk.ssc-mgmt.cloud.vmware.com https://console.cloud.vmware.com
    以下代碼範例顯示了美國區域的成功回應範例。
    2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    2022-08-16 21:28:26 [INFO] Retrieving CSP auth token.
    2022-08-16 21:28:27 [INFO] Creating new oauth app.
    2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85].
    2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master].
    2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN].
    2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect.
    2022-08-16 21:28:29 [INFO] Updated master cloud.conf.
    2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]
    2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'}
    2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    

    如果執行此命令導致錯誤,請參閱〈對 Automation Config 進行疑難排解〉

  3. 重新啟動 Salt 主節點服務。
    systemctl restart salt-master
  4. 針對每個 Salt 主節點重複此程序。
    備註: 將每個 Salt 主節點連線到 Automation Config 後,可以刪除 API Token。僅在將 Salt 主節點連線到 Automation Config 時才需要 API Token。

執行 sseapi-config 命令後,將在組織中為每個 Salt 主節點建立一個 OAuth 應用程式。Salt 主節點使用 OAuth 應用程式取得存取 Token,該 Token 附加到 Automation Config 的每個請求。您可以透過選取組織 > OAuth 應用程式來檢視 OAuth 應用程式的詳細資料。

該命令還會在 Salt 主節點上建立名為 CSP_AUTH_TOKEN 的 Pillar 資料。Pillar 是 Salt 主節點上所儲存資料的結構,並傳遞到已獲得授權能夠存取該資料的一或多個部屬節點。Pillar 資料儲存在 /srv/pillar/csp.sls 中,並且包含用戶端識別碼、密碼、您的組織識別碼和 CSP URL。如果需要輪替密碼,可以重新執行 sseapi-config join 命令。

範例 Pillar 資料:

CSP_AUTH_TOKEN:
   csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh
   csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95
   csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85
   csp_url: https://console.cloud.vmware.com

步驟 5:接受 Salt 主節點金鑰

將 Salt 主節點連線至 Automation Config 後,必須在 Automation Config 使用者介面中接受 Salt 主節點金鑰。

您必須在 Automation Config 中具有超級使用者角色才能接受 Salt 主節點金鑰。如需詳細資訊,請參閱〈如何定義使用者角色〉

接受 Salt 主節點金鑰:

  1. 登入 Automation Config 使用者介面。
  2. 從左上方導覽列中,按一下功能表 功能表圖示,然後選取管理以存取管理工作區。按一下主節點金鑰索引標籤。

    如果看不到主節點金鑰,請參閱〈對 Automation Config 進行疑難排解〉

    備註: 透過檢查金鑰指紋,可以驗證擱置中的主金鑰是否來自正確的 Salt 主節點。在 Salt 主節點上,執行 sseapi-config auth 以檢視金鑰指紋,然後驗證其是否與您在 主節點金鑰索引標籤中看到的指紋相同。
  3. 勾選主節點金鑰旁邊的方塊以將其選定。然後,按一下接受金鑰
  4. 如果已將 Salt 部屬節點連線至 Salt 主節點,則會顯示一條警示,指示您具有待接受的部屬節點金鑰。若要接受這些部屬節點金鑰,請移至部屬節點金鑰 > 擱置中
    1. 勾選部屬節點旁邊的方塊以將其選定。然後,按一下接受金鑰

    此金鑰現已被接受。經過幾秒後,部屬節點會出現在已接受索引標籤下以及目標工作區中。

可以透過在 Automation Config 介面中執行 test.ping 命令,驗證 Salt 主節點和 Salt 部屬節點是否正在通訊。如需詳細資訊,請參閱〈從 [目標] 工作區執行臨機工作〉

若要在不同的節點上新增更多 Salt 部屬節點,請按照此過程的步驟 1 操作,並省略任何安裝或啟用 salt-master 的命令,然後編輯 master.conf 以指向 Salt 主節點的主機名稱或 IP。如需詳細資訊,請參閱設定 Salt 部屬節點

如果 Salt 主節點和 Salt 部屬節點未進行通訊,請參閱〈對 Automation Config 進行疑難排解〉