取得 SaltStack Config Cloud 執行個體的存取權後,可以將 Salt 主節點連線到 SaltStack Config Cloud。您可以連線內部部署或雲端中的 Salt 主節點。

必須授權每個 Salt 主節點連線到 SaltStack Config Cloud 執行個體。若要授權 Salt 主節點,必須從 VMware Cloud Services 平台 (CSP) 中的帳戶頁面產生 API Token。然後,在 Salt 主節點上將 API Token 匯出為環境變數,並執行命令將 Salt 主節點連線到 SaltStack Config Cloud。

開始之前

  • 您必須已經擁有 Salt 環境,其中包含一個 Salt 主節點和至少一個 Salt 部屬節點。每個 Salt 部屬節點必須已連線到 Salt 主節點。如需在節點上安裝 Salt 主節點和 Salt 部屬節點服務的相關資訊,請參閱〈安裝或升級 Salt (安裝前)〉
  • 必須在每個 Salt 主節點上安裝版本 8.10.1.2 或更高版本的主節點外掛程式。
  • 您必須使用以下命令在 Salt 主節點上安裝 PyJWT 和 Pika Python 程式庫:
    pip3 install pika==1.2.0
    pip3 install pyjwt==2.3.0
  • 您必須具有以下 CSP 角色:
    • 組織角色:組織擁有者或組織管理員
    • 服務角色:CSP 中 SaltStack Config 服務的超級使用者
  • 將您的預設組織設定為有權存取 SaltStack Config Cloud 服務的組織。

產生 API Token

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

產生 API Token:

  1. 在 Cloud Services 主控台工具列上,按一下您的使用者名稱,然後選取我的帳戶 > API Token
  2. 按一下產生 Token

    CSP 中的 API Token 頁面

  3. 完成表單。

    在 CSP 中產生 Token 表單

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

      組織角色決定了使用者對組織資源的存取權。

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

      在 [產生新 API Token] 頁面上選取 [組織管理員] 角色
      服務角色

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

      若要存取 SaltStack Config Cloud 服務,請選取 SaltStack Config 服務角色,然後選取所有服務角色。

      選取 SaltStack Config 服務的所有服務角色
    4. (可選) 設定電子郵件喜好設定,以便在 Token 即將到期時接收提醒。
    5. 按一下產生

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

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

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

  5. 按一下繼續

將 Salt 主節點連線到 SaltStack Config Cloud

產生 API Token 後,您可以使用它將 Salt 主節點連線到 SaltStack Config Cloud。

連線 Salt 主節點:

  1. 登入 Salt 主節點,並驗證 /etc/salt/master.d/raas.conf 檔案是否存在。

    如果不存在,則必須安裝並設定主節點外掛程式

  2. 在 Salt 主節點的終端機中,將 API Token 儲存為環境變數。
    export CSP_API_TOKEN=<api token value>
  3. 如果 Salt 主節點執行的是版本 8.9.0 或更早版本的主節點外掛程式,則必須在 SaltStack Config Cloud 中重新登錄 Salt 主節點。如需詳細資訊,請參閱如何將 Salt 主節點重新連線到 SaltStack Config Cloud
  4. 如果 Salt 主節點執行的是版本 8.9.1 或更新版本的主節點外掛程式,請執行以下命令,將 Salt 主節點連線到 SaltStack Config Cloud,並將 ssc-urlcsp-url 值取代為特定於區域的 URL。
    sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    區域名稱 SSC URL CSP URL
    美國 https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    DE (德國) https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    IN (印度) https://in.ssc-gateway.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
    
  5. 重新啟動 Salt 主節點服務。
    systemctl restart salt-master
  6. 針對每個 Salt 主節點重複此程序。
備註: 將每個 Salt 主節點連線到 SaltStack Config Cloud 後,可以刪除 API Token。僅在將 Salt 主節點連線到 SaltStack Config Cloud 時才需要 API Token。

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

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

範例 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

如果需要輪替密碼,可以重新執行 sseapi-config join 命令。

若要瞭解有關 Pillar 資料的詳細資訊,請參閱〈如何建立狀態檔案和 pillar 資料〉

接受 Salt 主節點金鑰

在 Salt 主節點啟動 (除非使用密碼驗證) 期間,將會產生一個公開金鑰檔案。主節點將開始執行,但與 SaltStack Config Cloud 的通訊將會失敗,直到接受金鑰。

接受 Salt 主節點金鑰:

  1. 登入 SaltStack Config 使用者介面。
  2. 從左上方導覽列中,按一下功能表 功能表圖示,然後選取管理以存取 [管理] 工作區。按一下主節點金鑰索引標籤。
  3. 從側邊功能表中,按一下擱置中以顯示包含所有擱置中主節點金鑰的清單。

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

  4. 勾選主節點金鑰旁邊的方塊以將其選定。然後,按一下接受金鑰
  5. 接受主節點金鑰後,將會顯示一個警示,指示您有待接受的金鑰。若要接受這些部屬節點金鑰,請移至部屬節點金鑰 > 擱置中
  6. 勾選部屬節點旁邊的方塊以將其選定。然後,按一下接受金鑰
  7. 在確認對話方塊中按一下接受

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

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

後續步驟

成功執行 test.ping 命令後,可以開始在 SaltStack Config Cloud 中使用事件驅動型自動化在任何規模的虛擬機器上佈建、設定和部署軟體。

此外,還可以將 SaltStack Config CloudCloud Assembly 整合,以使用雲端範本部署 Salt 部屬節點和狀態檔案。

下表列出了一些有用的資源,以瞭解更多資訊。

若要瞭解... 請參閱
管理 SaltStack Config Cloud 的使用者存取權
整合 SaltStack Config CloudCloud Assembly 在 vRealize Automation Cloud 中設定 SaltStack Config 整合
SaltStack Config 中的主要功能 SaltStack Config 入門