一般的に使用される自動化Ansibleの例

安装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の状態=最新
  • ホスト:Webサーバの
    REMOTE_USER:ルート
    タスク:
    • 名前は:の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

実施例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
      状態:欠席

例16:コマンドモジュール
[ルート@ ansible /]#viの command.yml

  • ホスト:ルート
    REMOTE_USER:ルート
    タスク:
    • 名前:CMD
      コマンド:LS

おすすめ

転載: blog.51cto.com/kangxi/2425989