摘要:自動化部署最近因為工作需要學習了把這幾天所學的東西做了個總結,和大家分享一下什么是能干什么是新出現的自動化運維工具,基于開發,集合了眾多運維工具的優點,實現了批量系統配置批量程序部署批量運行命令等功能。
ansible自動化部署
最近因為工作需要學習了ansible,把這幾天所學的東西做了個總結,和大家分享一下:
1、什么是ansible?ansible能干什么?ansible是新出現的自動化運維工具,基于Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。
ansible是基于模塊工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包括:
(1)連接插件connection plugins:負責和被監控端實現通信;
(2)host inventory:指定操作的主機,是一個配置文件里面定義監控的主機;
(3)各種模塊核心模塊、command模塊、自定義模塊;
(4)借助于插件完成記錄日志郵件等功能;
(5)playbook:劇本執行多個任務時,非必需可以讓節點一次性運行多個任務。
了解了ansible的基本概念以及它的用途,下來,我們開始部署ansible(本次部署實在Redhat7上進行的),讓ansible在自己的機器上跑起來。
為了能使用yum安裝,首先我們得配置本地yum源,具體配置參考我的另一篇文章
RHEL7配置本地yum源
安裝ansible
1、安裝python-devel
yum install python-devel
2、setuptools模塊安裝
3、pycrypto模塊安裝
4、PyYAML模塊安裝
5、Jinja2模塊安裝
6、paramiko模塊安裝
7、simplejson模塊安裝
8、ansible安裝
在網上下載以上模塊以及ansiblede的.tar.gz包
分別執行tar xvzf *解壓后 再執行python setup.py install --record log.txt 命令安裝
ansible安裝成功之后,接下來進行Ansible的配置
1、SSH免密鑰登錄設置
[root@localhost ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: c9:72:68:d4:5a:a7:73:8c:f6:29:3b:44:99:7e:ae:20 root@localhost.localdomain The key"s randomart image is: +--[ RSA 2048]----+ | | | . | | . oo. | | . =+* | | =oS o | | . +o+.. | | E ...oo | | . ..o. | | oo | +-----------------+
2、將信任文件分發到指定服務器上
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.28.159.103
3、配置ansible.cfg
[root@localhost ~]# vim /etc/ansible/ansible.cfg [defaults] private_key_file = /root/.ssh/id_rsa
4、主機組定義
[root@localhost ~]# vim /etc/ansible/hosts [test] localhost 192.168.56.103
5、簡單測試
[root@localhost ~]# ansible test -m ping 192.168.56.103 | SUCCESS => { "changed": false, "ping": "pong" } localhost | SUCCESS => { "changed": false, "ping": "pong" }
我的個人 微信公眾號:**Java編程社區** 歡迎大家的關注
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27241.html
摘要:在只有少量服務器的情況下,大多數運維人員會選擇手動更新,減少自動化部署發布的開發成本。五自動化部署發布示例簡要說明下我們的項目如何使用實現了多個環境的自動化部署發布。 showImg(https://segmentfault.com/img/bVJEL6?w=500&h=250); 一、面臨的問題 一個完整的程序開發流程少不了部署發布這個環節,而部署發布是一個重復的過程,最基本的操作包...
摘要:行業內各巨頭的自動化運維架構都各種功能各種酷炫,如下圖,讓人可望不可及。面對這么多問題,我就想啊,如何在低成本情況下實現自動化運維。自動擴縮容通過配置告警規則,調用相應就可以實現實戰以上就是筆者關于自動化運維的一些實踐。 行業內各巨頭的自動化運維架構都各種功能各種酷炫,如下圖,讓人可望不可及?,F在最終的樣子大家都知道了,但問題是如何根據自己團隊當前的情況一步步向那個目標演進?筆者所在團隊,三...
摘要:從到到的部署經驗工作中,除了開發功能,還負責系統的部署工作。我從頻繁的部署工作中,逐漸找到了一些偷懶的方法。同時在構建成功后執行我們輸入的命令,來達到自動化部署的工作。缺點也是有的,很難保證對方部署的環境是最新的。 從Docker 到Jenkins 到Ansible的部署經驗 工作中,除了開發功能,還負責系統的部署工作。我從頻繁的部署工作中,逐漸找到了一些偷懶的方法。從傳統的Java ...
摘要:是新出現的自動化運維工具,基于開發,集合了眾多運維工具的優點,實現了批量系統配置批量程序部署批量運行命令等功能。是基于模塊工作的,本身沒有批量部署的能力。 ansible ansible是新出現的自動化運維工具,基于Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。ans...
閱讀 3652·2021-09-02 15:11
閱讀 4563·2021-08-16 10:47
閱讀 1560·2019-08-29 18:35
閱讀 3030·2019-08-28 17:54
閱讀 2843·2019-08-26 11:37
閱讀 1496·2019-08-23 16:51
閱讀 1799·2019-08-23 14:36
閱讀 1801·2019-08-23 14:21