、Ansibleコマンド
1、Ansibleコマンド2つの方法がある:アドホック、Ansible-プレイブック、これらの2つの方法の間に本質的に差がない、一時的に実行するためのアドホック; Ansible-プレイブックは、アドホックによるの集合として理解されます縫い合わせ一定のルールは、スクリプトです。
2、Ansible通信機構は、一般的にコンフィギュレーションキーが検証され、SSH、秘密および秘密鍵認証です。キーは、SSH-keygenのを使用するように設定します。
3、コマンド形式を使用します。
ansible <ホストpattent> [オプション]
説明:
ansible Ansible命令
<ホストパターン>は、定義されたホスト名インベントリ、IP、グループのグループ名、または「*」またはである「 『:のような文字列マッチングタイプの特殊文字』。」<>オプションが必須であることを示します。
[オプション] Ansibleパラメータオプション、オプションのパラメータです。
次のように一般的なオプションは次のとおりです。
-m NAME、 - モジュール名=名:実行モジュールを指定(ansibleモジュラー機能が基づいています)。
-u USERNAME、 - ユーザー= USERNAMEは:USERNAMEを実行するリモートホストを指定します。
-s、 - 須藤:sudoのモードのコマンドのリモート実行、Linuxシステムでsudoコマンドと同等のものを使用しました。
-U SUDO_USERNAME,--sudo-user=SUDO_USERNAME:sudo 用户
注意:上記と-U -sオプションは、新しいバージョンに失敗しました。次の2つのオプションの新しいバージョン:
-s、 - sudoは、-b変更されました - になります
-U、 - sudoのユーザーが--becomeユーザーが変更されました
-K、--ask-なっパス:--becomeまたは--becomeユーザー使用するために使用したパスワード認証。
-fフォーク--forksの=フォーク:並列スレッドの数。
-k、--askパス:秘密の認証を使用する場合、リモート・ホストに接続するためのパスワード、無料のために使用されていません
例えば:
1、---試験-m -uオプション; -mがping生存試験を実行するためにユーザをYJTするピング・モジュールを指定します。ユーザーを指定しない場合は、rootユーザとしてリモートマシン上のデフォルトは、実行します。
[ルート@マネージャ1〜15:53:53 ] #ansible 192.168。4.46ピング-m - U YJTは---ノートは、IPはあなたがここに複数のホストをすることができますテストしたい場合は、先に内部の/ etc / ansible / hostsに設定する必要がありますすべてに、もちろん、前提は、hostsファイルを設定する必要があります。 192.168。4.46 | SUCCESS => { " ansible_facts " :{ " discovered_interpreter_python ":" は/ usr / binに/ Pythonの" }、 " 変更":falseに、 「ピングの「:」ポン" }
。その成功のヒントSUCCESS
2、テスト-b; YJTユーザーがこの方法で検出された生存を根絶するためのping sudoを実行するためにはされていない場合、リモートホストYJTの/ etc / sudoersファイルを構成するには、ユーザーが必要です。 NOPASSWDの設定には、-Kオプションを追加する必要があります。
リモートホストの/ etc / sudoersファイルには、以下を追加するファイル:
YJT ALL =(root)のNOPASSWD:ALL
[ルート@のマネージャ1〜16時26分00秒] #ansible 192.168.4.46 -mピング-u YJT -b
192.168.4.46 | SUCCESS => {
"ansible_facts":{
"discovered_interpreter_python": "は/ usr / binに/パイソン"
}、
"変更":偽、
"ピング": "ピンポン"
}
控訴YJT ALL =(root)のNOPASSWD:ALL ALL、実行再びYJT ALL =(root)の置き換え
[ルート@のマネージャ1〜午後04時37分19秒] #ansible 192.168.4.46 -mピング-u YJT -b
192.168.4.46 | FAILED!=> {
"ansible_facts":{
"discovered_interpreter_python": "は/ usr / binに/ Pythonは"
}、
"変更":偽
、"module_stderr": "192.168.4.46に共有接続閉じ\ Rを\ n"、
"module_stdout" : "須藤:パスワードをrを\ n \必要とされる"、
"MSG": "モジュールの障害\ nSee STDOUT / stderrの正確なエラーのために"、
"RC":1
}
エラーが見つかり、原因リモートマシンのYJTのユーザにこの時間は、rootユーザーに近いアクセスを避けることができない、次のように実装、プラス-K(大文字)オプションとなるよう
[ルート@マネージャ1〜16時30分三十四秒] #ansible 192.168.4.46 -mピング-u YJT -b -K
BECOMEパスワード:---输入YJT的密码用户
192.168.4.46 | SUCCESS => {
"ansible_facts":{
"discovered_interpreter_python": "は/ usr / binに/パイソン"
}、
"変更":偽、
"ピング": "ピンポン"
}
二、ansible、銀河
公式サイトansible銀河からのダウンロードのための伝記の役割。
コマンドの使用方法:
ansible-銀河[削除|インポート|情報|初期化|インストール|リスト|ログイン|削除|検索|設定] [--help] [オプション]
INIT:銀河をアップロードする準備ができてローカル・ロールを、初期化します。
情報:指定された役割の詳細については。
インストール:ローカルでの役割をダウンロードしてください。
リスト:すでにローカルに存在した役割を一覧表示します。
削除:ローカル・ロールがすでに存在して削除します。
例えば:の/ etc / ansible /役割に保存されているデフォルトでは、nginxのの役割をダウンロード
[ルート@マネージャ1 KVM 17:19:05 ]#ansible-ギャラクシー--ignore- エラーインストールazavea.git -役割のダウンロード' gitのを' 、azaveaが所有する。 -役割のダウンロードから HTTPS:// github.com/azavea/ansible- gitの/アーカイブ/ 0.1.0.tar.gz - /root/.ansible/roles/するazavea.gitを抽出azavea.gitを---ここでは、このディレクトリに保存されます。 - azavea.git(0.1。0)が正常にインストールされました
三、ansibleプル
遠位プルコマンドまたはスクリプトを、効率を最大化、操作およびメンテナンスが要求
命令が操作Ansibleの別のモードの使用に関する:プルモード(デフォルトAnsibleプッシュモード)。メカニズム一般的に使用されたモデルを作業このプッシュは、次のシナリオに適用される正反対です:
;いいえ、あなただけを開始したい、2 1、あなたはマシンの膨大な数を持って設定する必要があります、高い同時実行スレッドは、まだ多くの時間を過ごすために持っていてもでホストネットワーク接続Anisble上で実行されている
使用法:ansibleプル-U <リポジトリ> [オプション] [<playbook.yml>]
例:* / 20 * * * *C 2.1.0 -d / SRV / www /の.logの2>&1
ローカル指定のcrontab周期Gitのバージョンを引っ張ることにより、動作モードが自動的に事前に確立されている命令良い指定する:まとめて次のように動作ansibleプルのGitとcrontabの結合によって達成される
注:ansible多くの場合、大量のマシン構成のシナリオで使用-pull、柔軟性のわずかな不足が、効率はほぼ無制限のアップグレードで、前方の計画のスキルや運用・保守担当者のための高い需要があります