実験環境:
オペレーティングシステム | IPアドレス | 役割 | ホスト名 | CPUコア |
CentOS7.5 | 192.168.96.4 | Ansible | ansible | 1 |
CentOS7.5 | 192.168.96.5 | クライアント | CLIENT1 | 1 |
CentOS7.5 | 196.168.96.6 | クライアント | クライアント2 | 2 |
環境を準備します:
ホスト名ansible
bashの
ホスト名CLIENT1
bashの
ホスト名のクライアント2
bashの
3台のマシンは、ファイアウォールをシャットダウンしました
[ルート@のansible〜]#のsetenforce 0
[ルート@ ansible〜]#systemctlの停止firewalld
[ルート@ ansible〜]#ホスト名ansible
================================================== ================
Ansible:
vimの/ etc / hostsファイル
加えます
192.168.96.4 ansible
192.168.96.5 CLIENT1
192.168.96.6クライアント2
SCPの/ etc / hosts 192.168.96.5:/etc/
SCPの/ etc / hosts 192.168.96.6:/etc/
YUMはansibleインストール
CDの/etc/yum.repos.d/
wgetのhttp://mirrors.aliyun.com/repo/Centos-7.repo
ヤムヤムすべて//キャッシュのクリアをきれいに
yumをansibleインストール-y
ansible --version //テストは、情報を表示することができ、インストールが成功したことを示し
SSH顔の相互作用のログインを作成します:
Ansibleの機械操作:
SSH-keygenは-t rsaの-P "" -fの.ssh / id_rsaと
クライアント1エンド環境準備。
setenforce 0
systemctl停止firewalld
クライアント2エンド環境準備。
setenforce 0
systemctl停止firewalld
鍵対と第2の送信にCLIENT1 Ansible端:
SSH-コピー-IDの[email protected]
SSH-コピー-IDの[email protected]
Ansibleの構成:
vimのは/ etc / ansible /ホスト
書きます
【crushlinux]
192.168.96.5
192.168.96.6
crushlinux -mピング//環境に設定されたansible
ansible crushlinux -a「DF番目」//二つのマシンのディスクをチェックします
ベースのsshpassの分散キー:
RM -rfの.ssh / authorized_keysに//キーバックで比較を行うことが最初削除する前に、
インストールsshpass:
あなたが接続する前にパスワードを入力するために必要なキーを削除した後
yumをインストール-y sshpass //安装sshpass
000000のssh [email protected] -p sshpass
sshpass 2台のマシンにパスワードを送信し使用
000000のssh-コピー-IDの[email protected] -p sshpass
000000のssh-コピー-IDの[email protected] -p sshpass
送信された秘密鍵の相互作用の問題の上に示すように、この時点では、もはや存在しません。
最初の接続はsshが解決できない、はい、手動で入力することです。
はいプロセスを除去する方法
000000 SSH -o StrictHostKeyChecking = NO [email protected] -p sshpass(最初の接続を手動でyesを入力し、SSHを解決することはできません。この形式で解決されるであろう)
はい二つのプロセスを除去する方法
vimのは/ etc / sshを/ ssh_configの//文書に振る舞い変更なし35ありません
文書を編集しても髪がキーになることはできません行われた後、
vimのは/ etc / ansible /ホスト//文書に以下の内容を追加します。
【NOKEY]
CLIENT2 ansible_ssh_host = 192.168.96.6 ansible_ssh_port = 22 ansible_ssh_user =ルートansible_ssh_pass = 000000
ansibleはNOKEY -mピング//ピングを変更して
【
クライアント2 =ホスト名
ansible_ssh_host = IPホスト
ansible_ssh_port = SSHのデフォルトポート
SSHのansible_ssh_user =ユーザ名
ansible_ssh_pass = SSH接続されたユーザパスワード
】
デフォルトlnventoryファイル{の/ etc / ansible /ホストを}使用する場合は、デフォルトのファイルを指定することはできませんlnvenntoryです
あなたのホストが正式な管理の前にファイルの書き込み、機器の管理を達成するためのデバイスのリストには/ etc / ansible / hostsファイルを追加することにより、パケット内Ansibleは、ホストがの一部が含まれているグループ名の代わりに、[]にファイル。
vimのは/ etc / ansible /ホスト//文書に以下の内容を追加します。
ansibleはNOKEY -mピング//ピングを変更して
ansibleはTEST01 -mピング//ピング、それを修正しました
コンテンツを追加します。
[クライアント]
CLIENT1
クライアント2
[TEST01]
クライアント[1:2]
================================================== =================================
Ansible構文:
「シェルコマンドで(モジュールを指定-m -a指定されたシェル・コマンド)を実行してもよい「の//」ansible crushlinux -mコマンド-a」
ansible crushlinux -mコマンドの-a「無料-m」//クエリcrushlinuxグループホスト・メモリ内の
ansible crushlinux -a「無料-mは」//コマンドを記述することはできませんが、デフォルトはコマンドモジュールであります
192.168.96.6 //唯一の制限192.168.96.6コマンドを実行--limit ansible crushlinux -a「無料-m」(エグゼクティブのメンバーが指定されたグループ内--limit)
ansible 192.168.96.6 -a // IPホストファイルホストに直接コマンド「無料-m」を実行
ansible 192.168.96。* -a "無料-m" // hostsファイルのセグメント96でコマンドを実行
Ansibleコマンド:
ansible //タブをダブルクリックします(最もよく使われるが、ansible-脚本とansibleです)
主なシーンで、非常に頻繁に注文のいずれかを使用してansible本番環境では、アプリケーションを見て
1.非硬化要件(このようなビューのディスク使用のサーバグループとして、一時的なメンテナンスを参照して、他のマシンにファイルをコピーするための法律がなど、存在しない、一時的なミッションを行う必要があります)
2.一時的な1回限りの操作
3.二次開発のインタフェース呼び出し
非硬化性需要文法。
ansible <ホスト> [パラメータ]
ansible内のすべての-mのping //ホストは、すべてのホストにファイルを
ansible CLIENT1:クライアント2 -mのping // clent1he clent2
ansibleクライアント:!\ CLIENT2の-mピング
チェックすべてのホストが生きています
ansibleすべて-f 5 -mピング
グループcrushlinux内のすべてのホストを一覧表示します
ansible crushlinux --list-ホスト
ansible crushlinux --list
グループcrushlinux内のバッチショーのディスク使用量
の/ etc / ansible / hostsファイルグループに定義されてcrushlinux事前
結果を示すために、3色ansibleリターン結果:
赤色は、実装プロセスを示す異常があります
オレンジは、コマンド実行ステータス変更の目的を表し
緑は正常に実行されたことを示し、ターゲットマシンに変更を加えませんでした
ansible-docの-l //援助総額を参照してください(Qiaowanコマンドカトンしばらくの間)
ansible-脚本:
Ansible・脚本毎日アプリケーションが最も頻繁にシステムliunxのshまたはソースコマンドのようなコマンドを使用し、作業メカニズムは、書き込みを読むことによって、集中文書処理タスクのために良い脚本です。ファイルフォーマットYML続いansible-ハンドブックハンドブックコマンド、ハンドブックファイル記憶タスクが実行されます。
ansibleコンソール:
ansible-コンソールは、Linuxでのcmdシェルでansible、および同様のウィンドウをユーザーに提供するための対話型ツールである、ユーザーが仮想端末のうちのビルトインコマンドansible上ansible・コンソールのさまざまな方法を使って、シェルと同じで行います。
(デフォルトのパスワードはansibleある、[F:5] 5つの同時スレッドによって表され、CD群をcrushlinux入力crushlinux、表示セット内のリストの内容)