Saltstack-salt-package-manager
SaltStack-ソルトパッケージマネージャー
ソルトフォーミュラはパッケージされ、パッケージマネージャーを使用してソルトマスターに配布されます。 このコンセプトは、 RPM 、 Yum および Pacman パッケージングシステムの影響を受けました。 塩の状態、柱、ファイルテンプレート、およびその他のファイルは、式で使用され、単一のファイルにパッケージ化されます。
数式パッケージが作成されると、それがリポジトリシステムにコピーされ、ソルトマスターで使用できるようになります。 パッケージマネージャーに移行する前に、Salt basicコマンドを使用して「nginx」パッケージをインストールする方法を見てみましょう。
「nginx」パッケージのインストールには、次の構文が使用されます。
root@saltmaster:/home/vagrant# salt '*' pkg.install nginx
ここでは、 pkg.install nginx コマンドを使用してパッケージをインストールします。 実行後、次の応答が表示されます。
次の output が生成されます-
minion2:
----------
httpd:
----------
new:
1
old:
httpd-cgi:
----------
new:
1
old:
libxslt1.1:
----------
new:
1.1.28-2build1
old:
nginx:
----------
new:
1.4.6-1ubuntu3.7
old:
nginx-common:
----------
new:
1.4.6-1ubuntu3.7
old:
nginx-core:
----------
new:
1.4.6-1ubuntu3.7
old:
minion1:
----------
httpd:
----------
new:
1
old:
httpd-cgi:
----------
new:
1
old:
libxslt1.1:
----------
new:
1.1.28-2build1
old:
nginx:
----------
new:
1.4.6-1ubuntu3.7
old:
nginx-common:
----------
new:
1.4.6-1ubuntu3.7
old:
nginx-core:
----------
new:
1.4.6-1ubuntu3.7
old:
これで、パッケージがインストールされました。 そのパッケージのサービスを開始するには、以下のコマンドを使用します。
root@saltmaster:/home/vagrant# salt '*' service.start nginx
このコマンドを実行すると、結果は次のコードブロックに示すようになります。
minion1:
True
minion2:
True
したがって、基本的なコマンドを使用して、「nginx」パッケージのサービスをインストールして開始しました。 ここで、Saltパッケージマネージャーでパッケージをビルドおよびインストールする方法について説明します。
パッケージの構築
パッケージは、Saltをインストールできる任意のシステムで構築できます。 パッケージには3つのタイプがあり、それらは次のとおりです。
式
原子炉
Conf
*Fomula* ファイルを使用してパッケージをビルドする方法を理解しましょう。
数式ファイル
パッケージのほとんどのファイルは、デフォルトで–/srv/spm/salt/ディレクトリにありますが、ピラーファイルは–/srv/spm/pillar/ディレクトリに配置できます。 フォーミュラファイルにはパッケージが記述されています。
例
name: apache
os: RedHat
os_family: RedHat
version: 201607
release: 2
summary: Formula for installing Apache
description: Formula for installing Apache
ここに、
- 名前-パッケージの名前。 ここでは、パッケージ名は apache です。
- os -このパッケージをサポートできるオペレーティングシステムを知るために使用されます。
- os_family -どのオペレーティングシステムファミリがこのパッケージをサポートできるかを知るために使用されます。
- バージョン-パッケージのバージョン。 YYYYMM形式で指定されます。
- リリース-このフィールドは、主にバージョンのリリースを指します。
- 概要-パッケージの短い説明。
- 説明-パッケージの詳細な説明。
原子炉
リアクタファイルは /srv/spm/reactor/ ディレクトリにあります。
CONF
このタイプのパッケージ内のファイルは、通常 /etc/salt/ ディレクトリーにあるSaltの構成ファイルです。 Salt以外のパッケージの構成ファイルは、ソルト状態で処理できます(式タイプのパッケージを使用)。
パッケージをビルドするには、次の手順に進みましょう。
- FORMULAファイルを作成し、パッケージフォルダーのルートに配置します。
- ビルドシステム上のフォルダーで数式ファイルを組み立てます。
- spm build を実行します。 パッケージがビルドされ、/srv/spm_buildフォルダーに配置されます。 次のコマンドは、パッケージをビルドするために使用されます。
spm build/path/to/salt-packages-source/formula
- 次に、*。spm *ファイルをリポジトリシステムのフォルダーにコピーします。
- ネットワーク上の srv/spm_build フォルダーを共有するか、ファイルをFTPまたはWebサーバーにコピーできます。
- 次のコマンドを使用してリポジトリメタデータを生成します。
spm create_repo/srv/spm_build
パッケージのインストール
このセクションでは、Saltパッケージマネージャーパッケージのインストールについて説明します。
リモートリポジトリを構成する
リモートリポジトリを設定するには、Salt Masterは設定プロセスでリポジトリの場所を知る必要があります。
ファイルは /etc/salt/spm.repos.d/spm.repo ディレクトリにあります。
例
file_repository:
url: https://spm.example.com/
このファイルには、リポジトリの名前とリポジトリへのリンクが含まれています。 http、https、ftp、またはファイルパスを使用することもできます。 ファイルパスを使用するには、file:///srv/spm_buildのURLを使用してアクセスできます。
メタデータを更新
Saltマスタでリポジトリが設定された後、以下のコマンドを使用してリポジトリメタデータがダウンロードされます。
spm update_repo
ファイルルートの更新
SPMパッケージはsrv/spm/saltディレクトリにあります。 Saltマスターのファイルルートに次のパスを追加します。
file_roots:
base:
1./srv/salt
2./srv/spm/salt
次に、ソルトマスターを再起動します。
Apacheパッケージをインストールする
パッケージapacheをインストールするには、次のコマンドを使用します。
spm install apache
以下のコマンドを使用して、SPMファイルから直接インストールすることもできます。
spm local install/srv/spm/apache-201607-1.spm
パッケージの削除
たとえば、apacheのパッケージを削除するには、次のコマンドを使用します。
spm remove apache
ファイルが変更されている場合、それらは削除されないことに注意してください。