まず、自動化された運用・保守はじめに
コントラスト:
伝統的な低運用・保守効率、ほとんどの人は、完成した作品
伝統的な操作や保守作業の面倒な、エラーを起こしやすいです
伝統的な日常の運用および保守は、同じことを繰り返して
運用・保守は、従来の標準化プロセスではありません
操作と伝統的なスクリプトの広い範囲の維持、管理が容易ではありません
自動化された運用・保守は、上記のすべての問題を解決することです
一般的な自動化された操作およびメンテナンスツール
開発rubbyベースのパペット(www.puppetlabs.com)、C / Sアーキテクチャ、マルチプラットフォームのサポート、管理、設定ファイル、ユーザー、cronのタスク、パッケージ、システムサービスのように。コミュニティ版(無料)およびEnterprise Edition(有料)に、Enterprise Editionは、グラフィカルな設定をサポートしています。
Saltstack(公式サイトhttps://saltstack.com、文書docs.saltstack.com)のpythonベースの開発、C / Sアーキテクチャ、マルチプラットフォームのサポート、リモートコマンドの実行が簡単に人形よりも設定して使用することに、非常に高速である人形軽量、よりあなたは、ほぼすべての機能の人形を達成することができます。
パラレル実行:同時に多くのマシン上でコマンドを実行します。対応するシリアル(第2のコマンドの実行を実行する1つ)。だから、より高速なパラレル。
Pythonの開発に基づいて自動化ツールのAnsible(www.ansible.com)より簡潔な運用・保守、クライアントにエージェントをインストールする必要はありません。あなたは、バッチオペレーティングシステムの構成、展開、バッチプログラム、バッチ実行コマンドを実現することができます。いくつかのより多くのSaltstack、支援機のSaltstack量を比較しました。
二、saltstackインストール
saltstack公文書ます。https://docs.saltstack.com/en/latest/topics/index.html
あなたはansibleに似塩sshのリモート実行を使用することができ、
また、C / sのモードをサポートし、以下のモデルを使用することを記載し、二つのマシンを用意する必要があります
サーバーの149.133、クライアント149.131
2台のマシンがセットアップされ、ホストのホスト名
両方のマシンが行う//#Viに/ etc / hostsの 192.168.149.133 fuxi01 192.168.149.131 yw02を
両方のマシンはsaltstack yumのソースをインストールされています
YUM -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpmをインストール YUM -y塩マスター塩漬けインストール行う手先// 制御センタ133は、塩を搭載-master、他のマシンは、塩のみ-手先をインストールする必要があります。 実行のyum -y塩手先131をインストール
第三に、塩関連のサービスを開始
編集プロファイルの133で
#Viには/ etc /塩/手先 // 増やす マスター:fuxi01 //#記号、および編集マスターホスト名を削除し 、サービスsystemctlスタート塩マスターを起動するために、systemctlスタート塩、手先
手先は、TCP / IP通信を介しているが、任意のポートをリッスンしませんが。
131編集設定ファイル
#Viには/ etc /塩/手先 // 増やす マスター:fuxi01 サービスsystemctlスタート塩手先を開始
サーバモニタ4505及び4506二つのポート、ニュースリリース、4506へとクライアント通信ポートの4505ポート。
四、saltstackコンフィギュレーション認定
手先マスター端末と通信の端末のニーズあなたが認証を設定する必要がありますので、暗号化する安全なチャネル、伝送のニーズを確立するために、だけでなく、暗号化と復号鍵のペアによります。
の/ etc /塩/ PKI /手先/ minion.pemとminion.pub、前記.PUB公開鍵の最初の開始時に発生した手先は、それがマスターに公開鍵を送信します。
マスターは、マスターの公開鍵は、上を通過ツールの公開鍵で塩キーを受け入れる手先受信した場合、最初の開始に/ etc /塩/ PKI /マスタ鍵ペアで生成されたときに一度受け付けますの/ etc /塩/ PKI /マスター/手下/ディレクトリストア内だけの公開鍵を受け入れ、クライアントがマスター・過去の公開鍵を受け入れます、下/手先ディレクトリには/ etc /塩/ PKIそれを入れて、命名minion_master.pub
達成するために、塩・キーのツールを使用するには、上記のプロセスの必要性
サーバーは、-a yw02 // -aホスト名に続いて、あなたがホスト認証、受け入れられた意味を指定することができ、次のコマンド塩キーを実行します。
-a yw02位ソルトキー 次のキーでは受け入れられるしようとしている: 未承認キー: yw02 ?進み[N- / Y-] y軸を ミニオンのために受け入れキーyw02。 #//塩キーは代表者を通じて、緑可能なキーを見ることができます拒否、拒否され;;の未承認、デフォルトを。 キー受理: yw02 拒否されたキー: 未承認キー: fuxi01 拒否キー: 位ソルトキー-A 位ソルトキーは//すべての受理を見ることができます。
塩-keyコマンドを使用:
-aホスト名が続き、ホスト認証を指定します
-Aすべてのホストを認定
-rホスト名を指定して、ホストを指定拒否することを拒否しました。
-Rは、すべてのホストを拒否します
-d 跟主机名,删除指定主机认证
-D 删除全部主机认证
-y 省略掉交互,相当于直接按了y
# salt-key -D -y # salt-key //再看已经全没有了 # systemctl restart salt-minion //服务端和客户端都重启minion,让master端自动识别minion端。 # salt-key //再来看就识别出来了,Unaccepted。 # salt-key -A -y //这样就全部都认证了。 # salt-key -r //操作的对象是在Unaccepted Keys下。拒绝后就到Rejected Keys下了。要想添加回来,先删掉,再-a加进来,识别不了就重启minion端。
五、saltstack远程执行命令
所有的操作都是在服务端
# salt '*' test.ping //这里的*表示所有已经认证的minion端,也可以指定一个,显示的True,表示存在的。 fuxi01: True yw02: True # salt 'aming-01' test.ping # salt 'aming-*' "hostname" # salt 'aming-0[23]' "hostname" # salt '*' cmd.run "hostname" //调用系统的命令,用cmd.run。后面可以跟系统里能用的所有的命令。
说明: 这里的*必须是在master上已经被接受过认证的客户端,可以通过salt-key查到,通常是我们已经设定的id值。关于这部分内容,它支持通配、列表以及正则。 比如两台客户端aming-01,aming-02, 那我们可以写成salt 'aming-*';salt 'aming-0[12]';salt -L 'aming-01,aming-02';salt -E 'aming-[0-9]+';salt -E 'aming-(01|03)'等形式,使用列表,即多个机器用逗号分隔,而且需要加-L,使用正则必须要带-E选项。 它还支持grains,加-G选项,pillar 加-I选项,后面介绍。