身為雲端範本開發人員,您可以將內容新增到 YAML,以便在部署範本時安裝 Salt 部屬節點。

新增到範本的核心內容包括要部署的機器的遠端存取內容以及 SaltStack Config resource的組態內容。該程序僅包括選取的內容。YAML 包括此範例中未使用的其他 SaltStack Config resource 內容。如需詳細資訊,請檢閱架構。

儘管此範例顯示了如何為遠端存取內容新增使用者名稱和密碼,但您可以設定密碼內容並將其新增到範本。如需範例,請參閱密碼 Automation Assembler 內容

如果 Salt 部屬節點部署在 Windows 環境中,請檢閱啟動 Windows 部屬節點以瞭解其他相依性需求。

程序

  1. Automation Assembler 中,選取設計 > 雲端範本
  2. 開啟現有範本。
  3. 找到 SaltStack Config resource 並將其拖曳至畫布。
  4. SaltStack Config resource 連結到將安裝部屬節點的機器。
  5. 在代碼窗格中,將內容新增到 SaltStack Config resource
    您無需包括所有可能的內容。此範例中使用的值在資料表中進行了說明。
    備註: 依預設,createTimeout 內容設定為 30 分鐘。可以根據需要使用分鐘/小時格式更新此值,例如:30m 或 1h。
    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run

    下面提供了此範例中所用 Cloud_SaltStack_1 內容的說明。

    內容 說明
    masterId 在範例架構中,masterId 值為 saltstack_enterprise_installer

    您可以在 Automation Config管理 > 主節點金鑰中定義主節點識別碼。

    hosts hosts 值是要安裝部屬節點之機器或機器叢集的識別碼。依預設,機器的名稱作為 Automation Config 中的部屬節點識別碼傳入。

    建議選擇不超過 15 個字元的機器名稱,尤其是在 Windows 上部署部屬節點時。Windows 不允許主機名稱超過 15 個字元。

    如果希望為要部署的機器定義自訂命名慣例,請參閱Automation Assembler 中已部署資源的自訂命名〉

    saltEnvironment 在此範例中,sse 是狀態檔案的檔案位置。

    您可以在 Automation Config組態 > 檔案伺服器中將狀態檔案放置在其他檔案伺服器位置。

    stateFiles 在此範例中,doe.sls 是在指定為 saltEnvironment 的檔案伺服器目錄中提供的狀態檔案。
    variables 在雲端範本中定義的變數將作為 pillar 傳遞到 Salt 狀態。在此範例中,變數 user 傳遞到 doe.sls 檔案。

    可以使用 Jinja 在狀態檔案中引用變數,如以下範例所示:

    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}

    doe.sls 檔案可確保使用者 (在雲端範本中由變數 user 表示) 存在。如果未在雲端範本中指定變數,則可確保使用者 random 存在。

    additionalMinionParams 使用此內容可傳遞部屬節點的其他組態參數。必須以字典的形式傳遞這些參數:

    • grains:使用此內容可將自訂 Salt Grain 指派給部屬節點。接受一或多個 key:value 配對。這些值可以是字串、陣列或對應。

      只能在佈建新機器時指派自訂 Grain 資料。執行連結 SaltStack 資源更新 Salt 組態第 2 天動作時,無法指派自訂 Grain 資料。

    additionalAuthParams 使用此內容傳遞其他授權參數,以佈建將與預設 salt-cloud 組態合併/由該組態覆寫的部屬節點。必須以字典的形式傳遞這些參數。

    接受一或多個 key:value 配對作為字串、陣列或對應。有關如何使用此內容的範例,請參閱使用案例:如何在 Linux 環境中使用 API 部署部屬節點

    備註: 執行 更新 Salt 組態第 2 天動作時,無法指派其他授權參數。
  6. remoteAccess 內容新增到託管 Salt 部屬節點的機器。
    • 如果要將 Salt 部屬節點部署到 Linux 機器,authentication 索引鍵的值可以為 usernamePasswordgeneratedPublicPrivateKey。不支援 publicPrivateKey
    • 如果您要將 Salt 部屬節點部署到 Windows 機器,則 authentication 索引鍵的值必須為 usernamePassword.
     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
            skipUserCreation: true
    備註: skipUserCreation 內容用於遠端存取。如果在雲端範本中未定義此內容或值為 false,依預設會建立使用者。將值設定為 true (如本例中所示) 將跳過新使用者的建立。
  7. 確認 YAML 包含與以下範例類似的內容。
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
            skipUserCreation: true
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  8. 測試並部署雲端範本。
    如果部屬節點部署失敗,請參閱 對部屬節點部署進行疑難排解
  9. 確認已部署機器的 Salt 組態內容。
    1. 選取部署 > 部署,然後開啟部署詳細資料。
    2. 拓撲索引標籤上,按一下機器,然後在右窗格中展開 Salt 組態內容。

      [拓撲] 索引標籤螢幕擷取畫面,在右窗格中展開了 [Salt 組態] 內容。內容包括主節點識別碼、Salt 環境和狀態檔案。

Automation Config 中驗證部屬節點

在虛擬機器上安裝部屬節點後,找到部屬節點並在資源上執行任何工作或命令。

程序

  1. 若要開啟 Automation Config,請按一下右上角的應用程式功能表,然後按一下 Cloud Services 主控台
  2. 開啟 VMware Aria Automation 服務。
  3. 按一下 Config 服務動態磚。
  4. Automation Config 中,展開部屬節點金鑰,然後按一下已接受
  5. 部屬節點識別碼資料行中,按一下篩選器圖示,然後輸入部屬節點的名稱。
    部屬節點的名稱預設為虛擬機器的主機名稱。在此範例中,部屬節點識別碼為 salt-vm-010。
    Automation Config 中已接受部屬節點金鑰的螢幕擷取畫面。
  6. 若要檢視詳細資料,請按一下部屬節點的名稱。
    您可以在部屬節點上執行工作或命令。例如,範例磁碟使用量。此工作傳回部屬節點的磁碟使用量統計資料。
    範例部屬節點識別碼的詳細資料頁面的螢幕擷取畫面

檢視 Salt Grain 資料

在虛擬機器上完成 Salt 部屬節點部署後,可以在 Automation Assembler 中檢視部屬節點的 Grain。

系統會針對部屬節點的作業系統、網域名稱、IP 位址、核心、作業系統類型、記憶體和許多其他系統內容收集 Salt Grain。如果您無權存取 Automation Config,或者希望在不離開 Automation Assembler 使用者介面的情況下快速檢視 Grain 資料,則可以使用拓撲索引標籤檢視 Grain 資料。若要瞭解有關 Grain 資料的詳細資訊,請參閱 Salt Grain

檢視部屬節點的 Grain:

  1. Automation Assembler 中,選取資源 > 部署,然後找到您的部署。
  2. 拓撲索引標籤上,選取連結到 SaltStack Config resource 的虛擬機器。
  3. 在右窗格中找到 Salt 組態區段,然後向下捲動以檢視 Grain 資料清單。Automation Assembler 中的 Grain 資料螢幕擷取畫面

部署部屬節點後,將擷取該部屬節點的 Grain 資料。若要查看上次更新 Grain 資料的時間,可以捲動到 Salt 組態區段的底部。

備註: 或者,也可以透過以下方式檢視 Salt Grain 資料:按一下 資源 > 虛擬機器,然後選取所需的虛擬機器,檢視機器組態和屬性。
Automation Assembler 中的上次更新 Grain 資料螢幕擷取畫面