設定管理

クライアントそれぞれを手動で設定するのではなく、設定ファイルおよびチャンネルを使用してクライアントの設定を管理できます。

設定パラメータはスクリプト化され、設定ファイルに保存されます。 SUSE Multi-Linux Manager Web UI を使用して設定ファイルを直接記述することも、他の場所に存在するファイルをアップロードまたはリンクすることもできます。

設定チャンネルは、設定ファイルを整理するために使用されます。 クライアントを設定チャンネルにサブスクライブし、必要に応じて設定ファイルをデプロイできます。

設定ファイルはバージョン管理されているため、設定を追加し、クライアントでテストし、必要に応じて以前のリビジョンにロールバックできます。 設定チャンネルを作成したら、さまざまな設定ファイル間や同じ設定ファイルのリビジョン間で比較を行うこともできます。

一元管理された設定ファイルはグローバル設定チャンネルによって提供されます。

次の表に、サポートされている機能を示します。各記号の意味は次のとおりです。

  • 機能は SUSE によってサポートされています。

  • 機能は SUSE ではサポートされていません。

  • 機能は検討中であり、後日サポートされるかどうかは未定です。

Table 1. 設定管理でサポートされる機能
機能 ステータス

設定チャンネル

状態チャンネル

ファイルのデプロイ

ファイルの比較

ハイステートの適用

クライアントからのファイルインポート

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 name`と`Ownership`を入力し、`File Permissions Mode`を入力します。

  6. クライアントでSELinuxが有効になっている場合、`SELinux contexts`を設定して、必要なファイル属性(ユーザ、ロール、ファイルタイプなど)を有効にできます。

  7. 従来のマクロ区切り文字の代わりに、グレインまたはピラーのデータを使用してJinjaテンプレートを利用できます。

  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テンプレートが可能です。 Jinjaは、Saltエンジンによってコンテンツが処理されるときのみ評価されます。 Jinjaは、ピラーまたはグレインから変数を提供します。 それらはSaltによって管理されるファイル(例えば、`file.managed`経由)やSaltステートで使用できます。

設定ファイルチャネルは、Jinja処理なしで静的ファイルを配信します。 状態チャネルファイルは、Salt状態で参照されている場合にのみ適用されます。

{% 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