SaltStackインストール、ホストの追加、基本コマンド
なぜSaltStackを選んだのか: Windows、Linux など、管理可能なホストの種類が多様化 Pythonを使用して開発し、Pythonユーザーについて二次開発を行う簡単 導入は便利(Ansibleより複雑だが、クライアントのインストール導入は比較的簡単) 拡張性 と処理能力が強い の強力なモジュール機能により、日常の自動化メンテナンスと複雑な自動化メンテナンスを処理できる多くの既存のモジュールがあります. 官文ドキュメント、およびコミュニティドキュメント豊富 強力なAPI機能 前言:
自動化メンテナンスの前提はまず標準化であり、サーバーの導入、システム応用の導入、システム管理に一定の標準がサポートされていない場合、いかなる自動化メンテナンスツールを使用しても、あなたの望む結果を実現することはできません.だから、自動化メンテナンスを実現する最も重要なことは標準化管理を実現することです.コンピュータ名命名、IPアドレス分類、MySQL配置標準、Nginx配置標準、システム登録標準、システム初期化標準など、標準化について
SaltStackには多くのメリットがありますが、自動化されたメンテナンスツールの選択については、少量のマシンしかない場合は、SaltStackを使用して管理することをお勧めせず、Ansibleを使用すると便利です.また、100以上のサーバがあり、Pyhtonの使用を知っていて、管理する必要がある機器の種類が多い場合は、SaltStackをお勧めします.次に、SaltStackサービス側とクライアントのインストールについて説明します.
以下のインストールはすべて公式ドキュメントに基づいてコピーされ、CentOS 7システムでテストOKを経て、住所は以下の通りです.
https://repo.saltstack.com/#rhel
サービス側インストール(master):
クライアントのインストール:
クライアントをサービス側に追加するには、次の手順に従います.クライアントプロファイルの変更:/etc/salt/minion_idは、master:salt行の注釈を開き、saltをサービス側のIPアドレスに変更するか、master:saltのようなアクセス可能なドメイン名またはFQDN名に変更する.ops.aek.com 修正/etc/salt/minion_idこのファイルの内容はサービス側に登録する、サービス側が見たクライアントIDであり、サービス側はこのIDを通じて現在のクライアントを管理する、例えばyuyan.test.aek.com クライアントサービスsystemctl start salt-minion を起動サービス側は を確認し、同意する.
以上のコマンドを実行すると、次の図のように4つのグループが表示されます.
サービス側が要求を受け入れる
説明:第2部の操作はしなくてもいいです.デフォルトでは、コンピュータ名がシステムデフォルトlocalhostの場合、IPをIDとしてサービス側に送信されます.コンピュータ名を変更すると、現在のコンピュータ名をIDとしてサービス側に送信されます.ローカル計算機名を変更したくない場合は、このコンピュータをIDにしたくない場合は、/etc/salt/minion_を変更します.id
基本コマンドの使用方法(サービス側で実行):
書式:salt host function arguments
説明:
salt:クライアントへのタスクの開始に一般的に使用されるプライマリコマンド
host:コマンドを受信するホストです.ここではホストIDを使用できます.IDはワイルドカード、正規表現、およびより高い使い方を使用できます.より高度な使い方は後述します.
function:ここでは関数です.ここでの関数はPythonモジュールとして理解できます.モジュールにはcmdなどの点分割を使用する方法があります.run,より多くのモジュール,モジュールメソッドの使用については後述する
Arguments:ここではメソッドのパラメータであり、testのようなパラメータを持たないモジュールメソッドもある.ping、それではこのパラメータはあってもなくてもいいですが、cmd.run、ここでshellコマンドを実行すると、パラメータは実行するコマンドです.
例:すべてのホストにパッケージを一括インストールする
上記の例では、コマンドラインで実行していますが、コマンドラインの実行が私たちのニーズを満たすことができない場合があります.この場合、ソースコードの導入MySQL、JDKなど、SaltStackプロファイルを編集してアプリケーションの導入を完了する必要があります.次のブログでは、一般的なモジュール、プロファイル編集、一般的なアプリケーションの導入を自動化する方法などについて説明します.
自動化メンテナンスの前提はまず標準化であり、サーバーの導入、システム応用の導入、システム管理に一定の標準がサポートされていない場合、いかなる自動化メンテナンスツールを使用しても、あなたの望む結果を実現することはできません.だから、自動化メンテナンスを実現する最も重要なことは標準化管理を実現することです.コンピュータ名命名、IPアドレス分類、MySQL配置標準、Nginx配置標準、システム登録標準、システム初期化標準など、標準化について
SaltStackには多くのメリットがありますが、自動化されたメンテナンスツールの選択については、少量のマシンしかない場合は、SaltStackを使用して管理することをお勧めせず、Ansibleを使用すると便利です.また、100以上のサーバがあり、Pyhtonの使用を知っていて、管理する必要がある機器の種類が多い場合は、SaltStackをお勧めします.次に、SaltStackサービス側とクライアントのインストールについて説明します.
以下のインストールはすべて公式ドキュメントに基づいてコピーされ、CentOS 7システムでテストOKを経て、住所は以下の通りです.
https://repo.saltstack.com/#rhel
サービス側インストール(master):
rpm -e --nodeps python2-pycryptodomex
yum install python-crypto
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum clean expire-cache
yum install salt-master
systemctl start salt-master
クライアントのインストール:
rpm -e --nodeps python2-pycryptodomex
yum install python-crypto
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum clean expire-cache
yum install salt-minion
クライアントをサービス側に追加するには、次の手順に従います.
salt-key
#
salt-key -L
以上のコマンドを実行すると、次の図のように4つのグループが表示されます.
Accepted Keys: #
Denied Keys:
Unaccepted Keys: # ,
yuyan.test.aek.com # ID
Rejected Keys:
サービス側が要求を受け入れる
salt-key -a yuyan.test.aek.com -y
# yuyan.test.aek.com Accepted Keys:
説明:第2部の操作はしなくてもいいです.デフォルトでは、コンピュータ名がシステムデフォルトlocalhostの場合、IPをIDとしてサービス側に送信されます.コンピュータ名を変更すると、現在のコンピュータ名をIDとしてサービス側に送信されます.ローカル計算機名を変更したくない場合は、このコンピュータをIDにしたくない場合は、/etc/salt/minion_を変更します.id
基本コマンドの使用方法(サービス側で実行):
書式:salt host function arguments
salt yuyan.test.aek.com test.ping
salt yuyan* cmd.run hostname
salt -E "^yuyan.*$" cmd.run w
説明:
salt:クライアントへのタスクの開始に一般的に使用されるプライマリコマンド
host:コマンドを受信するホストです.ここではホストIDを使用できます.IDはワイルドカード、正規表現、およびより高い使い方を使用できます.より高度な使い方は後述します.
function:ここでは関数です.ここでの関数はPythonモジュールとして理解できます.モジュールにはcmdなどの点分割を使用する方法があります.run,より多くのモジュール,モジュールメソッドの使用については後述する
Arguments:ここではメソッドのパラメータであり、testのようなパラメータを持たないモジュールメソッドもある.ping、それではこのパラメータはあってもなくてもいいですが、cmd.run、ここでshellコマンドを実行すると、パラメータは実行するコマンドです.
例:すべてのホストにパッケージを一括インストールする
salt "*" pkg.install nginx
上記の例では、コマンドラインで実行していますが、コマンドラインの実行が私たちのニーズを満たすことができない場合があります.この場合、ソースコードの導入MySQL、JDKなど、SaltStackプロファイルを編集してアプリケーションの導入を完了する必要があります.次のブログでは、一般的なモジュール、プロファイル編集、一般的なアプリケーションの導入を自動化する方法などについて説明します.