ansible筆記(1) 入門實踐

2022-03-21 17:56:40 字數 1456 閱讀 8645

ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。

批量完成一些需要經常重複的任務

比如:批量部署軟體

比如:批量拷貝檔案

比如:批量重啟服務

no agent 不需要在被管控主機上安裝任何軟體

no server 不用單獨啟用服務,能使用直接執行,使用時直接執行命令

對硬體資源占用小

不需要在被管控的主機上安裝任何軟體

基於模組工作

基於ssh工作

使用yaml語言

可實現多級指揮

ansible可通過epel源yum安裝,安裝方式如下:

[root@myhost ~]# yum install epel-release -y

[root@myhost ~]# yum install ansible -y

ansible主機配置檔案位置:

[root@myhost ~]# ll /etc/ansible/hosts

-rw-r--r-- 1 root root 1016 7月 21 07:59 /etc/ansible/hosts

配置檔案可按如下格式編寫:

192.168.10.2  ansible_port=22 ansible_user=root ansible_ssh_pass=123456

引數說明:

ansible_port=22  表示使用22埠,預設為22埠,若未修改過ssh埠可不指定
ansible_user=root  表示使用root使用者來ssh連線主機
ansible_ssh_pass=123456  表示對應使用者的連線密碼

以上編寫方式較為麻煩且安全性不高,既然是基於ssh的連線,我們便可以使用金鑰驗證的方式:

[root@myhost ~]# ssh-keygen    #生成金鑰

#將生成的公鑰加入到192.168.10.2的認證列表

[root@myhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

#至此,在/etc/ansible/hosts檔案中僅需配置ip即可。

主機分組配置:

#若主機很多,我們想分組進行操作可以採取如下的配置方式:

[testgroup]

192.168.0.2

192.168.0.3

192.168.0.4

192.168.0.5

192.168.0.6

#如上配置過後可直接通過組名對組內所有主機進行操作:

ansible testgroup -m ping #檢視主機連線狀態

Ansible最佳實踐

目錄結構 production inventory file for production servers 關於生產環境伺服器的清單檔案 stage inventory file for stage environment 關於 stage 環境的清單檔案 group vars group1 her...

Ansible入門 中文指南學習(1)

ansible中文指南 as bruce ansible all m ping u bruce as bruce,sudoing to root ansible all m ping u bruce sudo as bruce,sudoing to batman ansible all m ping...

Ansible實踐篇(一) Ansible免密登入

主要是ansible服務端需要將 root ssh id rsa.pub分發到其他伺服器 有兩個命令比較重要 ssh keygen 這個命令是用來生成本機的公鑰和私鑰的 ssh keyscan 這條命令是用來把遠端伺服器的公鑰來獲取到本地的 1 首先關閉公鑰認證 如果說不想關閉公鑰認證的話,可以用s...