您好,登錄后才能下訂單哦!
小編給大家分享一下Ansible如何安裝部署,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.1 什么是Ansible
Ansible一種集成IT系統的配置管理、應用部署、執行特定任務的開源平臺/框架。基于Python語言實現,核心模塊包括:jinja2、PyYAML和paramiko。Ansible允許重復執行而不出錯,客戶端無agent,服務端無deamon進程。Ansible特點:
Ansible支持API接口調用,例如通過CMDB調用或公有云接口調用
Ansible是一個框架,基于模塊、插件工作
基于SSH工作,即被管理端要支持SSH管理
通過playbooks來編寫強大的配置、狀態管理,實現自動化
1.2 Ansible重要組件說明
模塊:Ansible由多種功能模塊組成
playbook:Ansible劇本,使用yml語法調用不同功能模塊完成特定的功能
roles:Ansbiel角色,可以使用ansible-galaxy命令下載第3方的roles角色。
ansible-vault:文件加密工具
ansilbe-console:基于console與用戶進行交互
ansible-doc:幫助文檔,-l所有模塊,-s簡要幫助
1.3 Ansible執行過程及原理說明
加載配置文件,默認是/etc/ansible/ansible.cfg
加載對應模塊
生產臨時py文件,并傳輸到目標機器的~/.ansible/tmp目錄下
給py文件加上+x權限,執行并返回結果
刪除py文件并sleep 0 退出
1.4 Ansible執行狀態說明
綠色:執行成功,不需要做改變
黃色:執行成功,對目標主機做變更
紅色:執行失敗
2.1 安裝Ansible
安裝Ansible,以CentOS 7.6為例:
[root@ansible ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@ansible ~]# uname -a Linux ansible 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux#配置epel源 [root@ansible ~]# cat /etc/yum.repos.d/epel-7.repo [epel]name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch failovermethod=priority enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo]name=Extra Packages for Enterprise Linux 7 - $basearch - Debug baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0 [epel-source]name=Extra Packages for Enterprise Linux 7 - $basearch - Source baseurl=http://mirrors.aliyun.com/epel/7/SRPMS failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0#安裝Ansible [root@ansible ~]# yum install ansible -y#查看已安裝Ansible版本 [root@ansible ~]# ansible --version ansible 2.8.2 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] [root@ansible yum.repos.d]# ansible-2.8.2-1.el7.noarch查看Ansible相關文件
yum info ansiblerpm -qa ansiblerpm -ql ansibel | less
2.2 Ansible配置文件
Ansible主要配置文件及作用說明如下:
/etc/ansible/ ├── ansible.cfg # Ansible主配置文件 ├── hosts #用來定義被管理的機器清單 └── roles #該目錄用于定義角色
Ansible配置文件
/etc/ansible/ansible.cfg
主要參數說明
#關閉過時參數告警deprecation_warnings=False #關閉command告警command_warnings=False #首次連接不檢查,配合下面的playbook實現免密碼ssh登錄host_key_checking=False #設置并行數量forks=40 #開啟日志log_path = /var/log/ansible.log #ssh超時時間timeout = 30
2.3 hosts主機清單
默認hosts文件/etc/ansible/hosts
,被操作的主機必須在hosts主機清單中。
cd /etc/ansiblevim hosts #分組[mons] #設置主機別名ceph-node-1 ansible_ssh_host=172.16.93.1[client]172.16.93.1:2222 #同時也支持域名和主機名,最終解釋到IP #支持正則表達式[kvm_node_all]172.16.93.[6:9] #設置分組主機變量[kvm_node_all:vars]ansible_ssh_user=rootansible_ssh_pass=Efly1234ansible_ssh_port=22 #自動義變量my_name=zhangsan #主機的繼承關系,會繼承父的所有變量[kvm_node_all:children]client
2.4 Ansible管理機與被管理機做秘鑰認證(可選)
# 生成秘鑰 ssh-keygen#生成后會得到下面2個文件 [root@ansible ~]# tree /root/.ssh/ /root/.ssh/ ├── id_rsa └── id_rsa.pub# 將公鑰寫入被管理機 ssh-copy-id 192.168.199.52#或 ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 root@192.168.199.52
以上是“Ansible如何安裝部署”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。