參考 文檔?離線安裝 Ansible - DevOps - dbaselife
一、Ansible簡介
Ansible是一款開源的IT配置管理工具,常被IT界的小伙伴們用于自動化的場景,多用在服務(wù)部署、配置管理方面。配置文件采用最常見的yaml格式,學(xué)習(xí)起來也是比較容易,Ansible并不需要也沒有agent,只有一個控制端。該工具使用簡單但功能非常強大,可以解決眾多工作中繁瑣的服務(wù)安裝、配置等問題。
二、Ansible的主要功能
- 批量執(zhí)行遠(yuǎn)程命令:可以對任意多臺主機(jī)同時進(jìn)行命令的執(zhí)行。
- 批量配置軟件服務(wù):可以進(jìn)行自動化的方式部署、配置及管理服務(wù)。
- 編排高級的IT任務(wù):Ansible 可以使用yaml來編寫一套完整的Playbook,用來部署維護(hù)一套完全的基礎(chǔ)架構(gòu)。
三、Ansible的相關(guān)特性
Ansible是基于每個模塊進(jìn)行工作,自身并沒有批量部署的能力,ansible自身只是提供了一種框架。
- Ansible由Python語言開發(fā),沒有agent,不需要在被管理節(jié)點安裝任何客戶端;
- 模塊化:基于模塊工作,只需調(diào)用特定的模塊來完成特定工作;
- 基于SSH協(xié)議;
- 三大關(guān)鍵組成模塊:Paramiko, PyYAML, Jinja2;
- 冪等性:一個任務(wù)執(zhí)行1遍和執(zhí)行n遍效果一樣,不因重復(fù)執(zhí)行帶來意外情況;
- 可以使用命令行ad-hoc方式來執(zhí)行批量任務(wù),也可以使用yaml格式的文件來定制Playbook劇本實現(xiàn)批量任務(wù);
- 可以使用Role組織批量任務(wù)
四、Ansible的優(yōu)點
- 容易學(xué)習(xí)且輕量:無需在被控制節(jié)點安裝agent,做批量操作時只需要在操作機(jī)操作即可(前提:需要配置好免密登錄);
- 操作靈活:具有眾多的模塊,可使用命令行ad-hoc方式或者Playbook劇本的方式來實現(xiàn)批量任務(wù)執(zhí)行;
- 可移植性高:可以基于yaml文件編寫一套Playbook,只要做好邏輯判斷,就可以在多種操作系統(tǒng)上拿來即用;
- 冪等性:一個任務(wù)執(zhí)行1遍和執(zhí)行n遍效果一樣,不因重復(fù)執(zhí)行帶來意外情況;
- 支持普通用戶sudo提權(quán)。
五、Ansible的架構(gòu)
Ansible由以下幾個核心工具組成:
- INVENTORY:Ansible管理主機(jī)的清單/etc/ansible/hosts;
- MODULES:Ansible執(zhí)行命令的功能模塊,多數(shù)為內(nèi)置核心模塊,也可自定義;
- PLUGINS:模塊功能的補充,如連接類型插件、循環(huán)插件、變量插件、過濾插件等;
- APl:供第三方程序調(diào)用的應(yīng)用程序編程接口。
六、Ansible離線安裝
在生產(chǎn)網(wǎng)絡(luò)中正常情況下是無法連接Internet的,那么我們要安裝軟件只能在可以上互聯(lián)網(wǎng)的主機(jī)上下載所需要的軟件,然后拷貝到無Internet的主機(jī)上進(jìn)行安裝。
步驟一、找一臺能連接互聯(lián)網(wǎng)并且與內(nèi)網(wǎng)服務(wù)器系統(tǒng)一致的服務(wù)器,下載ansible安裝包以及所有依賴包
yum install -y yum-utils epel-release
mkdir /root/ansible
yum install -y --downloadonly --downloaddir=/root/ansible ansible
復(fù)制到內(nèi)網(wǎng)服務(wù)器
ansible安裝包和依賴包
步驟二、打包所有下載的rpm包
將下載的離線包目錄打包成ansible.tar.gz。
cd /root
tar -zcvf ansible.tar.gz ./ansible
步驟三、安裝ansible
通過U盤或網(wǎng)絡(luò)拷貝到企業(yè)環(huán)境服務(wù)器,解壓縮并執(zhí)行安裝。
tar -zxvf ansible.tar.gz
cd ./ansible
rpm -ivh *.rpm
ansible --version
安裝ansible
總結(jié)下
兩種安裝方式在生產(chǎn)環(huán)境的CentOS7系統(tǒng)中已驗證通過,適用于 內(nèi)網(wǎng)離線或者 外網(wǎng)在線安裝,前提是系統(tǒng)自帶或者干凈的python環(huán)境。
提前安裝下
1.使用yum list | grep zip/unzip獲取軟件安裝列表,無結(jié)果表明未安裝;文章來源:http://www.zghlxwxcb.cn/news/detail-633609.html
2.使用yum?install?zip”命令安裝zip;3、利用“yum install unzip”命令安裝unzip即可。?文章來源地址http://www.zghlxwxcb.cn/news/detail-633609.html
安裝方式一
cd /tmp
git clone https://github.com/ghl1024/ansible-offline-install.git
cd ansible-offline-install/ansible
sh install.sh
安裝方式二
cd /tmp
wget -c https://github.com/ghl1024/ansible-offline-install/releases/download/V1/ansible-offline-install.tar.gz
tar xf ansible-offline-install.tar.gz
cd ansible
sh install.sh
到了這里,關(guān)于K8S系列文章之 離線安裝自動化工具Ansible的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!