Saltstack-salt-package-manager

提供:Dev Guides
移動先:案内検索

SaltStack-ソルトパッケージマネージャー

ソルトフォーミュラはパッケージされ、パッケージマネージャーを使用してソルトマスターに配布されます。 このコンセプトは、 RPMYum および 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

ファイルが変更されている場合、それらは削除されないことに注意してください。