Saltstack-configuration-management
SaltStack-構成管理
構成管理は、SaltStackで最も重要な概念の1つです。 state と呼ばれる再利用可能な設定テンプレートを作成するために使用されます。 状態は、システムコンポーネントまたはアプリケーションを既知の構成にするために必要なすべてを記述します。
塩の状態
ソルト状態は、システムの特定部分の再利用可能な構成です。 単純なYAMLを使用すると、状態の理解と説明が容易になります。
塩の状態を作成する
塩の状態は簡単に作成できます。 この章で簡単な状態を作成しましょう。 ディレクトリ「salt-vagrant-demo/saltstack/salt/」に移動し、 samples.sls という名前のファイルを作成して、次の行を追加します。
次に、ファイルを保存し、Saltマスターで次のコマンドを実行します。
ここでは、ソルトミニオン minion1 のソルト状態を使用して、 pkg.installed モジュールを介して rsync、lftp 、および curl をインストールしました。 適切に動作する場合、以下に示すような応答が表示されます。
次の output が生成されます-
塩の状態を適用
「.sls」ファイルを使用して状態を作成し、具体的に呼び出して適用しました。 Saltには、 top.sls ファイルと呼ばれるデフォルトの状態ファイルがあります。 一番上のファイルは、複数の状態ファイルをソルトミニオンに適用するために使用されます。 一番上のファイルには、状態を適用する場所が記述されています。 さて、 States と Top file は連携して、SaltStackの構成管理機能の中核を作成します。
ディレクトリ saltstack/salt に単純なtop.slsファイルを作成して、以下を追加しましょう。
ここで、状態*は、一般に*すべてのシステム*状態に*適用、サンプル*は *minion1 に適用されます。
次に、Saltマスターを実行し、以下に示すように状態を適用します。
次の output が生成されます-
バッチサイズを適用
接続されたミニオンの数が多い場合、一度に更新されるシステムの数を制限できます。 以下で定義される –batch-size オプションを使用して実行されます。
次の output が生成されます-
塩状態関数
ソルトステート関数は、リモートシステムにアプリケーションをインストールおよび構成するために使用されます。 Salt状態関数を使用して「Vim」パッケージをインストールしましょう。
状態関数の作成と適用
ディレクトリ「salt-vagrant-demo/saltstack/salt/sample.sls」の下に「sample.sls」という名前のファイルを作成し、以下を追加します-
Vagrant環境が起動したら、ソルトマスターを実行し、次のコマンドを実行してsample.slsを適用します。
次の output が生成されます-
これで、パッケージ「Vim」が追加されました。 ここで、ソルトテストメソッドを使用してパッケージをテストします。
塩状態試験
テストの実行は、状態に「test = True」オプションを追加することで義務付けられています。 返される情報には、適用される状態が黄色で表示され、結果は「なし」として報告されます。
次のコマンドは、状態をテストするために使用されます-
次の output が生成されます-
SaltStack─柱コンポーネント
柱は、塩の状態を再利用可能にするために不可欠な要素です。 ターゲットを使用して割り当てられた手先の安全なデータを定義するために使用されます。 塩柱データには、ポート、ファイルパス、構成パラメーター、パスワードなどの値が格納されます。
柱構成ファイル
マスター設定ファイル内の pillar_roots の設定は以下に示されています-
ここでは、ファイルは「/srv/pillar」ディレクトリにあります。
/srv/pillar/top.slsにある最上位ファイルの構造は次のとおりです-
ここで、/srv/pillar/default.slsにあるdefault.slsファイルに移動し、次のコードを追加します。
ファイルを保存したら、柱を更新してすべての変更を更新します。
柱の更新
次のコマンドを使用して、ピラーを更新できます。
上記のコマンドは、すべてのミニオンのソルトピラーデータを更新するために使用されます。
柱データのリスト
柱データをリストするには、以下のコマンドを使用できます。
次の output が生成されます-
柱アイテム
柱が設定されると、柱モジュールを介してミニオンでデータを表示できます。 以下に定義されている関数 pillar.items からアクセスできます。
次の output が生成されます-
SaltStack –コンポーネントを含める
「含める」コンポーネントは、複数の場所で同じ構成タスクを定義するために使用されます。 簡単に実行できます。 状態ファイルの上部に、次の形式を使用してインクルードを追加します-
ここで、状態ファイル1 *および*状態ファイル2 *は、含めるSLSファイルの名前です。 *.sls 拡張子を含める必要はありません。 含まれるソルト状態は、現在のファイルの上部に挿入されます。
サブディレクトリ内の状態ファイル
ドット(。)を使用して、サブディレクトリ状態ファイルを含めることができます。 これはディレクトリセパレータとして機能します。
穀物インターフェース
Grainsは、基になるシステムに関する情報を取得するために使用されるインターフェイスです。 オペレーティングシステム、ドメイン名、IPアドレス、カーネル、OSタイプ、メモリ、およびその他の多くのシステムプロパティのグレインが収集されます。
穀物ターゲティング
粒子データは、次のコードブロックで定義されているミニオンをターゲットにするときに使用できます。
次の output が生成されます-
穀物のリスト
穀物は、以下に定義されている「grains.ls」モジュールを使用してリストできます。
リストアイテム
Pillarと同様に、穀物データは「grains.items」を使用してリストすることもできます。