Ansible 簡單範例 - benjr-tw/linux GitHub Wiki

下面來看一下如何透過 Ansible 來做自動化部署

測試環境 CentOS 9 Stream (虛擬機)

Ansible 架構分為 Control node ( Ansible 控制端 ) 與 Managed nodes ( 被 Ansible 控制端 ) , 下面的範例使用 locatehost 本機當作 Managed node (與 Control node 同一台來做).

locatehost Control node ( Ansible 控制端 ) -> locatehost Managed nodes ( 被 Ansible 控制端 )

安裝 Ansible 官網是用 pip 來安裝 Ansible.

[root@localhost ~]# yum install pip
[root@localhost ~]# pip install ansible
[root@localhost ~]# pip install ansible-lint

建立一個測試用的資料夾

[root@localhost ~]# mkdir ansible_quickstart && cd ansible_quickstart
[root@localhost ansible_quickstart]#

使用 Ad-Hoc command 的指令操作模式

  • 使用內建 command 模組 後面接著想執行的指令即可. ```bash [root@localhost ansible_quickstart]# ansible localhost -m command -a "echo Hello World" [WARNING]: No inventory was parsed, only implicit localhost is available localhost | CHANGED | rc=0 >> Hello World ```

    這個範例就是透過 Ansible 在 localhost 執行了 echo Hello World

  • 使用內建 Ping 模組 簡單測試一下,並使用系統提供的 ping 模組. ```bash [root@localhost ansible_quickstart]# ansible localhost -m ping [WARNING]: No inventory was parsed, only implicit localhost is available localhost | SUCCESS => { "changed": false, "ping": "pong" } ``` 這個範例就是透過 Ansible ping 模組檢查 localhost 是否存在.

實用上 Ansible 主要是可以透過定義 PlayBook 與 Inventery 來做大量部屬的

⚠️ **GitHub.com Fallback** ⚠️