ansible初識

主要組成部分,相關配置文件

Ansible主要組成部分

ANSIBLE PLAYBOOKS:任務劇本(任務集),編排定義Ansible任務集的配置文件,由Ansible順序依次執行,通常是JSON格式的YML文件

INVENTORY:Ansible管理主機的清單/etc/anaible/hosts

MODULES:Ansible執行命令的功能模塊,多數為內置的核心模塊,也可自定義

PLUGINS:模塊功能的補充,如連接類型插件、循環插件、變量插件、過濾插件等,該功能不常用

API:供第三方程序調用的應用程序編程接口

ANSIBLE:組合INVENTORY、API、MODULES、PLUGINS的綠框,可以理解為是ansible命令工具,其為核心執行工具

Ansible命令執行來源:

USER,普通用戶,即SYSTEM ADMINISTRATOR

CMDB(資產管理系統) API 調用

PUBLIC/PRIVATE CLOUD API調用

USER-> Ansible Playbook -> Ansibile

利用ansible實現管理的方式:

Ad-Hoc 即ansible命令,主要用于臨時命令使用場景

Ansible-playbook 主要用于長期規劃好的,大型項目的場景,需要有前提的規劃

Ansible-playbook(劇本)執行過程:

將已有編排好的任務集寫入Ansible-Playbook

通過ansible-playbook命令分拆任務集至逐條ansible命令,按預定規則逐條執行

Ansible主要操作對象:

HOSTS主機

NETWORKING網絡設備

注意事項

執行ansible的主機一般稱為主控端,中控,master或堡壘機
主控端Python版本需要2.6或以上
被控端Python版本小于2.4需要安裝python-simplejson
被控端如開啟SELinux需要安裝libselinux-python
windows不能做為主控端

相關文件

/etc/ansible/ansible.cfg 主配置文件,配置ansible工作特性

/etc/ansible/hosts 主機清單

/etc/ansible/roles/ 存放角色的目錄

程序

/usr/bin/ansible 主程序,臨時命令執行工具
/usr/bin/ansible-doc 查看配置文檔,模塊功能查看工具
/usr/bin/ansible-galaxy 下載/上傳優秀代碼或Roles模塊的官網平臺
/usr/bin/ansible-playbook 定制自動化任務,編排劇本工具/usr/bin/ansible-pull 遠程執行命令的工具
/usr/bin/ansible-vault 文件加密工具
/usr/bin/ansible-console 基于Console界面與用戶交互的執行工具

ansible 配置文件

Ansible 配置文件/etc/ansible/ansible.cfg (一般保持默認)
?[defaults]
?#inventory = /etc/ansible/hosts # 主機列表配置文件
?#library = /usr/share/my_modules/ # 庫文件存放目錄
?#remote_tmp = $HOME/.ansible/tmp #臨時py命令文件存放在遠程主機目錄
?#local_tmp = $HOME/.ansible/tmp # 本機的臨時命令執行目錄
?#forks = 5 # 默認并發數
?#sudo_user = root # 默認sudo 用戶
?#ask_sudo_pass = True #每次執行ansible命令是否詢問ssh密碼
?#ask_pass = True
?#remote_port = 22
?#host_key_checking = False # 檢查對應服務器的host_key,建議取消注釋

ansible系列命令

Ansible系列命令
ansible ansible-doc ansible-playbook ansible-vault
ansible-console ansible-galaxy ansible-pull
?ansible-doc: 顯示模塊幫助
ansible-doc [options] [module…]
-a 顯示所有模塊的文檔
-l, –list 列出可用模塊
-s, –snippet 顯示指定模塊的playbook片段
示例:
ansible-doc –l 列出所有模塊
ansible-doc ping 查看指定模塊幫助用法
ansible-doc –s ping 查看指定模塊幫助用法

ansible

ansible通過ssh實現配置管理、應用部署、任務執行等功能,建議配置ansible端能基于密鑰認證的方式聯系各被管理節點
?ansible <host-pattern> [-m module_name] [-a args]
–version 顯示版本
-m module 指定模塊,默認為command
-v 詳細過程 –vv -vvv更詳細
–list-hosts 顯示主機列表,可簡寫—list
-k, –ask-pass 提示連接密碼,默認Key驗證
-K, –ask-become-pass 提示輸入sudo
-C, –check 檢查,并不執行
-T, –timeout=TIMEOUT 執行命令的超時時間,默認10s
-u, –user=REMOTE_USER 執行遠程執行的用戶
-b, –become 代替舊版的sudo 切換

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91206

(0)
曲吉福曲吉福
上一篇 2018-01-21 20:19
下一篇 2018-01-22 09:02

相關推薦

  • 10.腳本練習2

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) POST?–>?Boot?Sequence(BIOS)?–>?Boot?Loader(MBR)? ?–>?Kernel+ramdisk(initrd)?–>?rootfs?–>?/sbin/init? ?–>?(/etc/inittab…

    2017-09-20
  • keepalived+nginx 實現 sharepoint 負載均衡

    keepalived 實現虛擬路由
    nginx 做反向代理和負載均衡

    Linux干貨 2017-12-20
  • 互聯網安全之sudo使用指南

    一、前言 sudo是什么? sudo是系統管理指令;由于root用戶權限過大,在實際生產過程中很少使用root用戶直接登錄系統,而是使用普通用戶登錄系統;但是如果普通用戶要對系統進行日常維護操作時需要su到root用戶,為了提高安全性,可以使用sudo授權某一用戶在某一主機以某一用戶身份運行某些命令;從而減少root用戶密碼知曉人,提高系統安全性。 &nbs…

    2015-06-23
  • Linux磁盤和文件系統基礎

    概述     Linux系統上,磁盤要正常的進行數據的存儲,需要先進行分區,再進行格式化生成文件系統,最后掛載到某個目錄下,才能進行正常的數據存取,本篇就介紹一下磁盤從分區到正常使用的幾個步驟,具體分為以下幾個部分:     1、磁盤的基礎概念   &nbsp…

    Linux干貨 2016-08-29
  • 集中練習6-bash腳本

    集中練習6-bash腳本

    Linux干貨 2017-12-05
  • week4

    一,復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒 有任何訪問權限; cp -r /etc/skel/ /home/tuser1 chmod -R go= /home/tuser1/ 二,編輯/etc/group文件,添加組hado…

    Linux干貨 2016-11-18
欧美性久久久久