在此範例中,您將看到如何使用 SaltStack Config 套用狀態檔案以快速部署和管理組態設定的另一個範例。此範例顯示了一個稍微複雜的狀態檔案,用於處理三個不同的工作 (安裝服務、啟動服務以及將檔案部署到執行該服務的節點)。

警告:

此實機操作範例將對您的環境進行變更,因此完成該範例時應小心謹慎。請考慮僅在測試或開發環境中嘗試使用節點完成此範例,而不要在生產環境中嘗試。

在 CentOS (Linux) 節點上設定 Apache Web 伺服器

撰寫用於設定和部署 Apache Web 伺服器的狀態檔案:

  1. SaltStack Config 檔案伺服器中建立新檔案。
    1. SaltStack Config 使用者介面中,按一下側邊功能表中的組態 > 檔案伺服器
    2. 首次開啟 [檔案伺服器] 工作區時,您會看到檔案目錄和一個空白的新檔案。使用此空白檔案建立新檔案。
  2. 使用此空白的新檔案建立新的狀態檔案 (SLS)。
    1. 按一下 Saltenv 功能表,然後選取 base
    2. 在未標記的功能表旁邊,輸入檔案路徑和檔案名稱。使用 /apache/centos.sls
    3. 在檔案內文中,複製並貼上以下狀態檔案代碼 (使用 YAML 語法):
      install_apache:
        pkg.installed:
          - name: httpd
          
      ensure_service_running:
        service.running:
          - name: httpd
          - watch:
            - pkg: install_apache
            
      default_html_page:
        file.managed:
          - name: /var/www/html/index.html
          - source: salt://apache/index.html
      
      備註:
      此狀態檔案包含三個步驟,分別執行三個不同的 Salt 執行模組。將此狀態檔案套用至部屬節點時, SaltStack Config 將會:
      • 在部屬節點上安裝 Apache (httpd)。
      • 啟動 Apache 服務。
      • 部署在部屬節點上託管的範例 HTML 索引頁面。
    4. 儲存狀態檔案。
    5. 確認新檔案顯示在檔案伺服器目錄中的 base > apache > centos.sls 下。
  3. 將範例 HTML 索引頁面新增到檔案伺服器。
    1. 在 [檔案伺服器] 工作區中,按一下建立按鈕以新增檔案。
    2. 按一下未標記的功能表,然後選取 base
    3. 在未標記的功能表旁邊,輸入此檔案的檔案路徑和檔案名稱。使用 /apache/index.html
    4. 在檔案內文中,複製並貼上以下 HTML 代碼:
      <html>
      <head><title>SaltStack Config Example></title></head>
      <body>
      <h1>SaltStack Config Example</h1>
      
      Hello, world!
      
      </body>
      
    5. 儲存 HTML 檔案。
    6. 確認新檔案顯示在檔案伺服器目錄中的 base > apache > index.html 下。
  4. 建立新工作。
    1. 按一下側邊功能表中的組態 > 工作以開啟 [工作] 工作區。
    2. 按一下建立工作按鈕。
      備註:

      如果未顯示 [建立工作] 按鈕,則表明您沒有建立新工作的權限。請連絡您的 vRealize Automation 管理員以取得存取權或請求代表您建立此工作,以便您可以完成本教學課程。

  5. 在 [新增工作] 畫面上,填寫新工作的詳細資料並儲存該工作。
    欄位 範例值

    名稱

    為此工作指定描述性名稱,例如「設定 Apache Web 伺服器」。

    說明

    新增說明,告知其他使用者此工作的用途,例如「在目標 CentOS 節點上設定和部署 Apache Web 伺服器以及範例 HTML 索引頁面」。

    命令

    選取 salt

    salt 命令用於針對部屬節點執行的工作。

    目標

    請勿從此功能表選取任何目標。將此欄位留空可使您在執行工作時選取目標。

    函數

    按一下此欄位,然後開始輸入 state.apply,直到可以選取此模組。

    在此欄位中,可以選取執行此工作時套用的 Salt 模組。

    環境

    從功能表中選取 base

    狀態

    從功能表中選取新建立的狀態檔案:apache.centos

    引數

    此模組不接受引數,因此請將其留空。

  6. 工作已建立,請透過選取工作目標來執行工作。
    1. 在側邊功能表中,按一下部屬節點以開啟 [部屬節點] 工作區並檢視目標。
    2. 所有部屬節點資料表中,找到要執行此工作的目標 CentOS 部屬節點。勾選此部屬節點旁邊的方塊,然後按一下執行工作按鈕。
    3. 在 [執行工作] 對話方塊中,按一下工作功能表,然後選取在先前步驟中建立的「設定 Apache Web 伺服器」工作。如果需要,可以輸入工作名稱以篩選工作。
    4. 按一下立即執行

      如果成功執行工作,則會顯示一則通知,說明工作已成功啟動。

  7. 按一下側邊功能表中的活動 > 已完成,檢查工作是否已完成。

    如果此資料表中未列出您的工作,則工作可能仍在進行中。可以透過按一下活動 > 進行中尋找目前正在執行的工作。繼續重新整理活動 > 已完成,直到您的工作顯示在資料表中。

  8. 完成工作後,確認索引頁面是否託管在新設定的 Web 伺服器上。
    1. 在網頁瀏覽器中,前往工作中目標 CentOS 部屬節點的 IP 位址。若要在 SaltStack Config 中尋找部屬節點的 IP 位址,請在 [部屬節點] 工作區中查看該部屬節點的 IP 位址資料行。
    2. 輸入該 IP 位址時,您應該會看到範例 HTML 索引頁面。

結果和關鍵資訊摘要

檢閱工作結果和索引頁面時,請考慮以下幾點:

  • 狀態檔案方法可在任何規模下快速設定和更新系統組態,也可以在基礎結構即代碼方法中防止組態偏差。
  • SaltStack Config 支援建置可以包含複雜元素 (如變數) 的狀態檔案,這些元素的值會根據條件或在將狀態檔案套用至系統時傳遞到該狀態檔案的資訊而變化。
  • 此外,還可以建置可從專用庫 (在 SaltStack Config 中稱為 pillar) 提取密碼的狀態檔案,以協助確保認證安全,同時授權團隊成員可以在有權存取的資源上執行工作。