配置管理

您可以使用配置文件和通道管理客户端的配置,而无需手动配置每个客户端。

配置参数以脚本形式编写并存储在配置文件中。 您可以直接使用 SUSE Multi-Linux Manager Web UI 编写配置文件,或者可以上传或软链接到其他位置已有的文件。

配置通道用于组织配置文件。 您可以将客户端订阅到配置通道,并根据需要部署配置文件。

配置文件受到版本控制,因此您可以添加配置设置,在客户端上进行测试,并根据需要回滚到先前的版本。 创建配置通道后,您还可以在不同的配置文件之间以及同一配置文件的不同版本之间进行比较。

集中管理的配置文件由全局配置通道提供。

下表显示了支持的功能,其中:

  • 功能由 SUSE 支持

  • 功能不受 SUSE 支持

  • 功能正在考虑之中,日后可能受支持,也可能不受支持。

Table 1. 配置管理支持的功能
功能 状态

配置通道

状态通道

部署文件

比较文件

应用 Highstate

从客户端导入文件

Jinja 模板

1. 创建配置通道

1.1. 配置通道。

要创建新的中心配置通道,请执行以下操作:

过程:升级创建配置通道
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 配置  通道,然后点击 创建配置通道

  2. 键入通道的名称。

  3. 键入通道的标签。 此字段只能包含字母、数字、连字符 (-) 和下划线 (_)。

  4. 键入用于与其他通道进行区分的通道说明。

  5. 单击 创建配置通道 以创建新通道。

1.2. 状态通道

状态通道在客户端上使用 Salt 状态:

过程:升级创建 Salt 状态通道
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 配置  通道,并单击 创建状态通道

  2. 键入通道的名称。

  3. 键入通道的标签。 此字段只能包含字母、数字、连字符 (-) 和下划线 (_)。

  4. 键入用于与其他通道进行区分的通道说明。

  5. 键入 SLS Contents 以用于 init.sls 文件。

  6. 单击 创建配置状态通道 以创建新通道。

2. 添加配置文件、目录或符号链接

如果您已创建配置通道,则可以添加配置文件、目录或符号链接:

过程:升级添加配置文件、目录或软链接
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 配置  通道,并单击要添加配置文件的配置通道的名称,然后导航到 添加文件  创建文件 子选项卡。

  2. File Type 字段中,选择要创建文本文件、目录还是软链接。

  3. Filename/Path 字段中,键入文件应部署到的位置的绝对路径。

  4. 如果您正在创建软链接,请在 Symbolic Link Target Filename/Path 字段中键入目标文件和路径。

  5. User name 字段中键入文件的 Group nameOwnership,以及 File Permissions Mode

  6. 如果客户端启用了 SELinux,您可以配置 SELinux contexts 以启用所需的文件属性(例如:用户、角色和文件类型)。

  7. 您可以使用 Jinja 模板与 grains 或 pillar 数据,而不是使用传统的宏分隔符。

  8. File Contents 文本框中输入配置文件内容,使用脚本下拉框选择相应的脚本语言。

  9. 单击 创建配置文件

3. 为客户端订阅配置通道

您可以通过导航到 系统  系统列表,选择要订阅的客户端,然后导航到 Configuration 选项卡来为单个客户端订阅配置通道。 要为多个客户端订阅配置通道,您可以使用系统集管理器(SSM)。

过程:升级为多个客户端订阅配置通道
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 系统  系统列表 并选择要处理的客户端。

  2. 导航到 系统  系统集管理器,然后转到 配置  订阅通道 子选项卡,以查看可用配置通道的列表。

  3. 可选:单击 Systems currently subscribed 列中的数字,以查看目前订阅了配置通道的客户端。

  4. 选中要订阅的配置通道,然后单击 继续

  5. 使用向上和向下箭头对配置通道排名。 两个配置通道之间的设置发生冲突时,系统会优先使用更靠近列表顶部的通道。

  6. 确定通道应用到所选客户端的方式。 单击 以最低优先级订阅,以将新通道添加到低于当前订阅通道的优先级。 单击 以最高优先级订阅,以将新通道添加到高于当前订阅通道的优先级。 单击 替换现有订阅,以去除现有通道并用新通道替换它们。

  7. 单击 应用订阅

如果新的配置通道优先级与现有通道冲突,则重复的通道将根据新的优先级被去除并替换。 如果客户端的配置优先级将通过某个操作重新排序,则 Web UI 要求您在继续之前确认更改。

4. 比较配置文件

您也可以使用系统集管理器 (SSM) 将客户端上部署的配置文件与存储在 SUSE Multi-Linux Manager 服务器上的配置文件进行比较。

过程:升级比较配置文件
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 系统  系统列表,并选择订阅了要比较的配置文件的客户端。

  2. 导航到 系统  系统集管理器,然后转到 配置  比较文件 子选项卡,以查看可用配置文件的列表。

  3. 可选:单击 Systems 列中的数字,以查看目前订阅了配置文件的客户端。

  4. 选中要比较的配置文件,然后单击 安排文件比较

5. 在客户端上建立 Jinja 模板

在 Salt 客户端上可以使用 Jinja 模板。 仅在 Salt 引擎处理内容时才会评估 Jinja。 Jinja 提供来自 pillars 或 grains 的变量。 它们可以在 Salt 管理的文件中使用(例如,通过 file.managed)或 Salt 状态。

文件配置通道提供静态文件,而不进行 Jinja 处理。 状态通道文件仅在 Salt 状态中被引用时适用。

有关更多信息,请参见 https://docs.saltproject.io/salt/user-guide/en/latest/topics/jinja.html 及此示例:

{% if grains.os_family == 'RedHat' %}
  {% set dns_cfg = '/etc/named.conf' %}
{% elif grains.os_family == 'Debian' %}
  {% set dns_cfg = '/etc/bind/named.conf' %}
{% else %}
  {% set dns_cfg = '/etc/named.conf' %}
{% endif %}
dns_conf:
  file.managed:
    - name: {{ dns_cfg }}
    - source: salt://dns/files/named.conf
    - template: jinja