[SaltStack Config ファイル サーバ] ワークスペースと [ピラー] ワークスペースで、状態ファイルとピラー データを作成またはアップロードできます。ファイル サーバを使用しない場合、SaltStack Config は状態ファイルとピラー データを保存できる外部リポジトリ(Git リポジトリなど)との接続もサポートします。
状態ファイルについて
各ノードまたはアプリケーションを 1 つずつ手動で構成する代わりに、SaltStack Config 状態管理システムを使用して、複数のノードに同時に適用できる状態ファイルを作成することができます。これらの状態ファイルには、ノードで実行する必要がある操作、およびこれらを操作する順序を SaltStack Config に指示する一連の命令を含めることができます。また、適用する必要がある構成ファイルまたは設定の説明を含めることができます。
状態ファイルを作成または変更した後に、これらの状態ファイルを自動的に実行して、一度に多くのノードに適用することができます。各ノード固有のプロパティ(オペレーティング システムなど)に基づいてノードをターゲットにすることも、定義したカスタム ラベルに基づいてノードをターゲットにすることもできます。詳細については、ターゲットの作成方法を参照してください。
また、状態管理システムによって各ノードが適切に、かつ可能な限り効率的に構築されます。構成ドリフトが発生した場合、SaltStack Config はノードとアプリケーションを準拠した構成状態に戻すことができます。構成を変更する必要がある場合、SaltStack Config は影響を受けるノードに変更を迅速に展開できます。
状態ファイルの例
状態ファイルは通常、YAML と Jinga の形式で記述されますが、JSON などの他の形式は Salt と互換性があります。一般的な状態ファイルは次のようになります。
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
- ミニオンに Apache (httpd) をインストールします。
- Apache サービスを開始します。
- ミニオンにホストされているサンプルの HTML インデックス ページを展開します。
ピラー データについて
- ピラーは、パスワードや設定など、プライベートな機密データへのユーザー アクセスを制限できます。たとえば、ピラーを使用することで、ユーザーがこれらのデータの認証情報にアクセスせずに、外部サービスへの認証が必要なジョブを実行することが可能になります。この場合、ユーザーには特定のジョブとターゲットへのアクセス権を割り当てますが、機密性の高い認証情報が含まれるピラーへのアクセス権は割り当てません。
- ピラーは、データを要求するコンテキストまたはミニオンに基づいて変化するデータを送信できます。たとえば、ミニオンごとに異なるパスワードを割り当てたり、すべてのパスワードを 1 つのピラー ファイルに保存したりできます。その後、ファイル内の一意のパスワードを検索するようにミニオンに指示する状態ファイルを作成できます。複数のファイルを作成したり、複数の場所にパスワードを保存したりする必要はありません。
SaltStack Config ピラー ストアに格納されているデータは、SaltStack Config の特定のインスタンスに関連付けられている RaaS 暗号化キー(例:「/etc/raas/pki/.raas.key」)を使用して暗号化されます。ピラー データは SaltStack Config ユーザー インターフェイスで定義されると、このキーで暗号化され、PostgreSQL データベースに保存されます。このキーは、データを復号して SaltStack Config ユーザー インターフェイスに表示するためにも使用されます。
ピラー ファイルの例
ピラー ファイルは通常、YAML と Jinga の形式で記述されますが、JSON などの他の形式は Salt と互換性があります。ピラー データはディクショナリとして保存され、キーと値のペアを使用して値を検索します。一般的なピラー ファイルは次のようになります。
pillar1: value pillar2: - value - value pillar3: sub_key: - value - value
この例では、ピラー データをフォーマットする 3 つの異なる方法を示します。使用する構文は、ニーズと保存する必要があるデータのタイプによって異なります。
開始する前に
SaltStack Config は Salt を利用しているため、Salt およびこれらの機能に関連する概念についての基本的な知識があると役立ちます。次の表に、詳細を把握するのに役立つリソースを示します。
詳細 | 参照先 |
---|---|
Salt の操作の基本 |
|
Salt 状態 |
|
ピラー データ |
|
Salt の実行モジュールおよび状態モジュール |
|
ピラー データを定義した後、[ターゲットの更新] をクリックし、ターゲット グループを選択してから [保存] をクリックすることで、ピラー データをミニオン システムのグループに割り当てることができます。
ピラー データが特定のターゲット システムに割り当てられ、状態ファイルに含まれている場合、ミニオン システムごとにマスターによって処理され、ミニオンごとに個別の AES キーを使用して暗号化されます。このキーによって、状態またはオーケストレーション ファイル プログラム中にピラー データをターゲット システムに転送できるようになります。
ファイル サーバへの状態ファイルの追加
ジョブで使用できるように状態ファイルをファイル サーバに追加するには、次の手順を実行します。
- 目的の結果を達成するのに役立つ Salt 実行モジュールまたは状態モジュールを調べます。ニーズに合った Salt モジュールを見つけたら、モジュールのドキュメントを参照し、モジュールのパラメータやその他の要件について理解します。
- オプション:ベスト プラクティスとして優先コード エディタで状態ファイルの大まかなドラフトを作成し、コード リンターを使用して、状態ファイルが適切な形式の構文を使用していることを確認します。
- SaltStack Config ユーザー インターフェイスのサイド メニューで [構成] > [ファイル サーバ] をクリックし、[ファイル サーバ] ワークスペースを開きます。
- 最初にファイル サーバ ワークスペースを開くと、ファイル ディレクトリと空の新しいファイルが表示されます。この空のファイルを使用して新しい状態ファイルを作成するか、コード エディタから状態ファイルをコピーします。
- [Saltenv] メニューをクリックして、状態ファイルを保存する環境を選択します。選択する環境が不明な場合は、[ベース] を使用します。
- [パス名] フィールドにファイルパスとファイル名を入力し、末尾にファイル拡張子
.sls
を付けます。たとえば、/my-directory/my-state-file.sls
です。 - ファイルの本文に、状態ファイルのコードを書き込むか、コピーします。次に例を示します。
- 状態ファイルを保存し、新しいファイルがファイル サーバ ディレクトリに表示されることを確認します。
Salt マスターへのピラー データの追加
SaltStack Config [ピラー] ワークスペースを使用してピラー データを Salt マスターに追加できますが、Salt マスターにピラー データを直接追加する方が簡単な場合があります。ピラー データを追加して、状態ファイル内で参照したりターゲットに割り当てたりできるようにするには、次の 2 つの方法のいずれかを実行します。
次の手順
ミニオンがアクセスできる状態ファイルとピラー データを作成した後に、SaltStack Config で作成したジョブでこれらのファイルを参照することができます。詳細については、ジョブの作成方法を参照してください。