常用自動化運維工具---Ansible

Ansible 特點:基於Python開發,無需客戶端、輕量級、配置語言採用YAML。

ansible優點:無需安裝客戶端,更輕量級,可以很輕鬆的是實現分佈式擴展,更強的遠程命令執行操作。

ansible裏面包含了Connection Plugins(連接插件:用來連接被管理端,雖然ansible是使用ssh連接到各個主機的名單時它還支持其他的連接方法,所以是需要有連接插件的)、Core modules(核心模塊:Ansible本身而言是模塊化的,實現的各種操作依賴於各種模塊)、Custom Modules(自定義模塊:當核心模塊完成不了某種任務之後,可以通過自定義模塊去擴展)、Plugins(插件)、Playbooks(劇本:通過配置文件定義一些任務,將這個配置文件下發到客戶端,然後客戶端可以自己執行)、Host Inventory(主機清單:主機清單中描述了被管理的客戶端)

ansible的工作原理:

ansible通過遠程連接的插件連接到遠程被管理的主機,具體執行哪些任務就使用到哪些模塊,將這個模塊定義到playbooks中,通過主機清單去了解被管理端的主機有哪些,然後執行playbooks裏面的操作。

ansible的安裝:

在控制端用yum方式安裝Ansible

1.新增epel-release第三方套件來源。

$ sudo yum install -y epel-release

如下圖所示

2.安裝 Ansible。

$ sudo yum install -y ansible

如下圖所示,

安裝完畢!

3.安裝Python並配置ssh無祕登錄安裝Python並配置ssh無祕登錄

1.在所有節點上執行

[root@centos ~]#yum install -y openssh-server python

如下圖所示:

2.在控制節點上執行:

ssh-keygen

如下圖所示

3.在控制節點上執行:

[root@centos ~]# ssh-copy-id 192.168.1.101(被控制節點的ip地址)

如下圖所示

修改配置文件ansible.cfg並配置被控制主機

[root@localhost ~]# vi /etc/ansible/ansible.cfg

之後,敲一下鍵盤上的i鍵,進入insert模式,可以對文檔進行編輯,
[defaults]
inventory = /etc/ansible/hosts
forks = 5
become = root
remote_port  = 22
host_key_checking = False
timeout = 10
log_path = /var/log/ansible.log
private_key_file = /root/.ssh/id_rsa

如下圖所示

做完上述操作之後,輸入鍵盤上的Esc鍵,接着輸入:,再輸入wq鍵,寫入並保存。

[root@localhost ~]#vi  /etc/ansible/hosts

[webservers]
192.168.1.101  被控制端的ip地址

測試各個遠程主機組webservers連通性

[root@localhost ~]# ansible webservers -m ping

如下圖所示

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章