安装ansible
[ルート@ ansible〜]#yumをインストール-y ansible
マニフェストファイルホスト変更管理
#viのは/ etc / ansible /ホスト[ansible ansible @ルート]
[Webサーバ]
192.168.1.21
192.168.1.22
192.168.1.23を
Ansibleホストの間にしてログインするためにキーを作るために管理し
、[ルートを@ ansible ansible]#のSSH-keygenの
[ルート@ ansible ansible]#のSSH-コピー上記のID 192.168.1.21
管理ホスト二つの方法(コマンド/スクリプト)されている
コマンド:
コマンドフォーマットは、
<ホスト> [オプション] ansible
例1:経由のpingテスト開存
のpingの[ルート@ ansible ansible] -u#ansibleルートWebサーバの-m
...省略
例2:ディレクトリ内でechoコマンドを呼び出す
#ansibleすべて-a "/ binに/こんにちは、世界のエコー" [ansible ansible @ルート]
...省略
例3:別のディレクトリにファイルをコピーし
ます。[root @ ansible ansible]#ansibleウェブサーバ-mコピー"SRC = / etc / passwdファイルDEST =は/ opt / passwdの" -a
...省略
例4:ソフトウェアをインストールし
、[@ ansibleルートansible]#yumのansibleウェブサーバ-m -a "名前lrzszを="
...省略
例5:ユーザーを追加する
[ルート@ ansible ansible]#ansibleウェブサーバ-mユーザー-a "名= zhangsanパスワード= 123"
例子6:启动系统的某个服务
[ルート@ ansible ansible]#ansibleウェブサーバ-mサービス-a "名= sshdの状態=開始"
...省略
[ルート@ ansible ansible]#ansibleウェブサーバ-mサービス-a " = httpdの状態=開始」という名前を付け
...省略
の'name = httpdの状態=再起動' -a#ansibleウェブサーバ-mサービス[ansible ansible @ルート]
...省略
例7:サービスを再起動し
ます。[root @ ansible ansible]#ansibleサービスウェブサーバ-a -m "名前= httpdの状態RESTARTED ="
...省略
例8:3(並列実行に属する)と同じマシンを実行するコマンドを指定する
3 -f -a#ansibleウェブサーバは、「エコーこんにちは」[ansible ansible @ルート]
...省略します
例9:取得システム情報
[ルート@ ansible ansible] -m#ansibleウェブサーバのセットアップ
...省略
脚本:
脚本組成
hosts: 目标主机
remote_user: 执行操作的用户身份
vars: 执行中的一些变量
tasks: 定义顺序执行的action,每个action调用一个模块
handers: event处理操作,仅有在action触发时才会执行,多次触发只执行一次并按照声明的顺序执行。
例10:httpdサービスをインストールし
ます。[root @のansible /]#viの test.yml
-
ホスト:Webサーバの
REMOTE_USER:ルート
タスク:- 名前:インストールhttpdの
YUM:PKG = httpdの状態=最新
- 名前:インストールhttpdの
- ホスト:Webサーバの
REMOTE_USER:ルート
タスク:- 名前は:のhttpd起動
サービスを:名前= httpdの状態=開始
- 名前は:のhttpd起動
例11:デバッグ情報を取得
[ルート@ ansible /]#viの debug.yml
- ホスト:Webサーバの
REMOTE_USER:ルート
タスク:- 名前:デバッグ
デバッグ:
MSG: "{{ansible_default_ipv4.gateway}}"
- 名前:デバッグ
実施例12:シェルモジュール
[ルート@ ansible /]#VI shell.yml
- ホスト:Webサーバの
REMOTE_USER:ルート
タスク:- 名前:guanbifanghuoqiangの
シェル:systemctlストップfirewalld
- 名前:guanbifanghuoqiangの
実施例13:コピーモジュール
[ルート@ ansible /]#viの copy.yml
-
ホスト:すべての
REMOTE_USER:ルート
タスク:- 名前:コピー
コピー:SRC = / etc / passwdファイル= DEST /ホーム
例14:ユーザーを作成し、ユーザーは、デュアルタスクを実行し、削除
[ルート@ ansible /]#viの user.yml
- 名前:コピー
-
ホスト:すべての
REMOTE_USER:ルート
タスク:-
名前:ユーザーの作成
ユーザーを:
名前:apengの
UID:5000
グループ:FTP
シェル:/ binに/ bashのの
グループ:apengの
追記:はい - 名前:ユーザーの削除
:ユーザー
名:apeng
状態:不在の
削除:はい
-
実施例15:インストールのhttpdその後、アンインストールし
ます。[root @のansible /]#viの yum.yml
- ホスト:すべての
REMOTE_USER:ルート
タスク:- 名前:httpdのインストール
yumを:
名前:のhttpd
状態:最新 - 名前:HTTPDを削除
yumを:
名前:のhttpd
状態:欠席
- 名前:httpdのインストール
例16:コマンドモジュール
[ルート@ ansible /]#viの command.yml
- ホスト:ルート
REMOTE_USER:ルート
タスク:- 名前:CMD
コマンド:LS
- 名前:CMD