定義工作或作業的目標有助於防止作業在不應執行該作業的節點上執行。可以使用 Grain、Glob、List 或 Compound 組織整理目標。

什麼是目標?

目標是指一或多個 Salt 主節點中的一組部屬節點,將為其套用工作的 Salt 命令。目標可包含已連線至環境中任何 Salt 主節點的部屬節點。Salt 主節點也可以像部屬節點一樣進行管理,如果正在執行部屬節點服務,也可以成為目標。

開始之前

建立目標之前,必須考慮要建立的目標群組。例如,您可能希望為安全性區域或單一子網路建立目標群組。如何組織整理目標群組將取決於您組織的需求。

建立新目標

SaltStack Config 中的每個目標都需要名稱、Salt 主節點和目標準則。定義包括一或多個部屬節點的新目標:

  1. 目標工作區中,按一下建立按鈕。
  2. 完成表單。

    在 SaltStack Config 中建立目標頁面

    1. 名稱欄位中,輸入新目標的描述性名稱。
    2. (可選) 提供新目標的說明。
    3. 依預設,所有主節點設定處於啟用狀態,這意味著由任何 Salt 主節點管理的部屬節點均可包括在目標中。按一下此按鈕,可將此目標僅套用至與一或多個 Salt 主節點相關聯的部屬節點子集。

      如果停用此設定,將會顯示一個功能表,您可以使用此功能表選取要將目標套用到的一或多個 Salt 主節點。如需詳細資訊,請參閱目標設定

    4. 按一下 Grain 功能表,然後選取要使用的目標類型。

      可以使用 Grain、Glob、List 或 Compound 設定部屬節點目標。如需有關這些目標設定選項的詳細資訊,請參閱〈目標設定〉。如需有關 Salt 目標的更多一般背景資訊,請參閱設定部屬節點目標

  3. 完成後,按一下儲存

    新目標將顯示在目標工作區中。

根據上一步中選取的目標類型,提供不同的目標設定和準則。如需有關這些設定的詳細資訊,請參閱 〈目標設定〉
備註: 如果選取 Compound 作為首要準則,則必須遵循 Salt 目標設定參考中包括的目標設定語法,並且必須將任何次要準則包括在複合目標定義中。SaltStack Config 不允許在目標編輯器中新增任何其他準則。如需有關複合目標設定的詳細資訊,請參閱 〈目標設定〉

將 pillar 指派給目標

將 pillar 指派給目標:

  1. 目標工作區中,按一下要為其指派 Pillar 資料的目標旁邊的功能表功能表圖示
  2. 按一下連結 Pillar
  3. 連結 Pillar 對話方塊中,選取要套用至目標的 Pillar。

    [連結 Pillar] 對話方塊

    除了選取 pillar 外,還要選取重新整理 pillar,以便該 pillar 能夠立即可供所選目標使用。

  4. 按一下更新目標
現在,選取的 pillar 資料可供目標中的所有部屬節點使用。
備註: 也可以在 Pillar工作區中將 pillar 指派給目標。如需詳細資訊,請參閱 〈如何建立狀態檔案和 pillar 資料〉

將角色指派給目標

將角色指派給目標:

  1. 目標工作區中,按一下要為其指派角色的目標旁邊的功能表功能表圖示
  2. 按一下指派角色
  3. 指派角色對話方塊中,選取要指派的角色。

    在 SSC 中指派角色

    如需有關 SaltStack Config 中使用者角色的詳細資訊,請參閱〈如何定義使用者角色〉。

  4. 按一下更新目標

具有資源權限的角色將新增到目標群組。您可以在目標資料格中查看新的或更新的角色。

目標設定

SaltStack Config 中設定目標類似於在 Open Salt 中設定目標,但 SaltStack Config 具有用於定義目標的簡化介面,同時還支援儲存目標定義以供重複使用。如需有關在 Salt 中設定目標的詳細資訊,請參閱 Salt 目標設定參考

SaltStack Config 中的每個目標都包括名稱、Salt 主節點和目標準則,如下表所示。

設定 說明
名稱

輸入目標名稱。目標名稱不必唯一。這可能會導致在 SaltStack Config 使用者介面中不同的項目以相同的名稱顯示。

所有 Salt 主節點

依預設,目標包括所有 Salt 主節點。但是,可以選擇將目標設為僅屬於特定 Salt 主節點的部屬節點。

例如,如果您的環境中包括多個負責執行特定應用程式的節點,並且已對 Salt 基礎結構進行磁碟分割以便這些機器全部連線至單一 Salt 主節點,則透過僅選取 Salt 主節點可以建立包括整個部屬節點子集的目標。

若要啟用依 Salt 主節點設定目標,請按一下選項按鈕來停用此設定。此時將顯示一組新的設定。

主節點欄位下,選取要將其部屬節點設為目標的 Salt 主節點。所有其他目標準則僅套用至與所選 Salt 主節點相關聯的部屬節點子集。

目標準則

目標是動態的,並且新的部屬節點會自動新增至任何相符的目標定義。如果您不希望將來包含會與動態目標相符的新部屬節點,請將目標儲存為清單。

可以使用目標準則指定一組部屬節點,請參閱以下欄位說明。

目標類型 說明
Grain (粒紋比對)

比對特定的 Grain 值,例如,osfullnameDebian。選取 Grain 後,會預先填入值清單,以便按一下欄位即可檢視可用選項或開始輸入。

Glob (萬用字元比對)

使用部屬節點識別碼的萬用字元比對。例如,可以輸入 webserver* 以選取多個部屬節點 (名為 webserver01webserver02webserver03)。

List (清單比對)

指定要包括在目標中的部屬節點清單。例如,dc3-north-db1,dc3-north-db2

如果不希望動態授與對目標的存取權,則指定清單非常有用。這會防止與動態目標準則相符的新部屬節點自動新增至目標。

Compound (複合比對)

合併多個目標介面,並以連接詞 and、or 和 not 分隔。

如果選取 [Compound] 作為首要準則,則必須遵循 Salt 目標設定參考中包括的目標設定語法,並且必須將任何次要準則包括在複合目標定義中。SaltStack Config 不允許在目標編輯器中新增任何其他準則。

後續步驟

建立所需的目標後,可以建立工作,以便針對目標部屬節點執行工作和程序。如需詳細資訊,請參閱〈如何建立工作〉