脚本はAnsible非常に単純なマルチホスト構成管理ステータスプロファイル
脚本は、同期と非同期モードをサポートするために、指定された手順を実行するよう命じ
脚本はYAML形式で書かれています:
- インデント:とPythonは、のように、YAMLは、あなたがタブを使用することはできません、二つの空間の間の関係を表すインデントのデータを使用しています
- コロンコロンの後のスペースは改行ではありません
- ダッシュ:それはダッシュ、ダッシュプレゼンテーションオプションの後ろのスペースでなければなりません
脚本スクリプトの基礎
クリーンな環境制御エンドポイントを試してみてください
## 创建项目目录
[root@Ansible ~]# mkdir project && cd project
## 第一种Playbook书写方式(官方推荐)
[root@Ansible project]# vim httpd.yml
- hosts: web ##对那个主机执行
tasks: ##执行的任务
- name: Install Httpd Server ##描述(暂时没有意义)
yum:
name: httpd
state: installed
## 第二种Playbook书写方式
[root@Ansible project]# vim httpd1.yml
- hosts: web
tasks:
- name: Install Httpd Server
yum: name=httpd state=installed
## 检测文件有没有格式错误
[root@Ansible project]# ansible-playbook --syntax-check httpd.yml
playbook: httpd.yml
## 执行一下(可以用 -C 模拟执行)
[root@Ansible project]# ansible-playbook httpd.yml
PLAY [web] ********************************************************************************
TASK [Gathering Facts] ********************************************************************
ok: [192.168.1.2]
TASK [Install Httpd Server] ***************************************************************
changed: [192.168.1.2]
PLAY RECAP ********************************************************************************
192.168.1.2 : ok=2 changed=1 unreachable=0 failed=0
上記に基づいて設定ファイルで続行
[root@Ansible project]# vim httpd.yml
- hosts: web
tasks:
- name: Install Httpd Server
yum:
name: httpd
state: installed
- name: Edit Index.html File
copy:
content: The is Ansible Edit
dest: /var/www/html/index.html
- name: Started Httpd Server
systemd:
name: httpd
state: started
enabled: yes
- name: Stopped Firewalld Server
systemd:
name: firewalld
state: stopped
## 检测文件有没有格式错误
[root@Ansible project]# ansible-playbook --syntax-check httpd.yml
playbook: httpd.yml
## 执行一下
[root@Ansible project]# ansible-playbook httpd.yml
PLAY [web] ********************************************************************************
TASK [Gathering Facts] ********************************************************************
ok: [192.168.1.2]
TASK [Install Httpd Server] ***************************************************************
ok: [192.168.1.2]
TASK [Edit Index.html File] ***************************************************************
changed: [192.168.1.2]
TASK [Started Httpd Server] ***************************************************************
changed: [192.168.1.2]
TASK [Stopped Firewalld Server] ***********************************************************
ok: [192.168.1.2]
PLAY RECAP ********************************************************************************
192.168.1.2 : ok=5 changed=2 unreachable=0 failed=0
アップ直接セットLAMP、ワードプレスをダウンロードするには、適切なディレクトリに展開しました
環境がクリーンではない、構成はここで環境をクリーンアップする、より詳細な、後述するが必要な場合があります
## 下载Wordpress
[root@Ansible project]# wget https://cn.wordpress.org/wordpress-5.0.3-zh_CN.tar.gz
## 书写lamp文件
[root@Ansible project]# vim lamp.yml
- hosts: hosts
tasks:
- name: Install Server
yum:
name:
- httpd
- mariadb-server
- php
- php-mysql
- php-pdo
state: present
- name: Unzip File
unarchive:
src: ./wordpress-5.0.3-zh_CN.tar.gz
dest: /var/www/html/
mode: 0755
- name: Started Httpd Server
systemd:
name: httpd
state: started
- name: Started Mariadb Server
systemd:
name: mariadb
state: started
- name: Stopped Firewall Server
systemd:
name: firewalld
state: stopped
## 检测一下文件格式
[root@Ansible project]# ansible-playbook --syntax-check lamp.yml
playbook: lamp.yml
## 执行一下
[root@Ansible project]# ansible-playbook lamp.yml
PLAY [hosts] ******************************************************************************
TASK [Gathering Facts] ********************************************************************
ok: [192.168.1.2]
ok: [192.168.1.3]
TASK [Install Server] *********************************************************************
changed: [192.168.1.2]
changed: [192.168.1.3]
TASK [Unzip File] *************************************************************************
changed: [192.168.1.2]
changed: [192.168.1.3]
TASK [Started Httpd Server] ***************************************************************
changed: [192.168.1.2]
changed: [192.168.1.3]
TASK [Started Mariadb Server] *************************************************************
changed: [192.168.1.2]
changed: [192.168.1.3]
TASK [Stopped Firewall Server] ************************************************************
ok: [192.168.1.3]
ok: [192.168.1.2]
PLAY RECAP ********************************************************************************
192.168.1.2 : ok=6 changed=4 unreachable=0 failed=0
192.168.1.3 : ok=6 changed=4 unreachable=0 failed=0
これは、アクセスにブラウザをインストールし192.168.1.2/wordpress
たり192.168.1.3/wordpress