在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是Ansible

汽車(chē)電子技術(shù) ? 來(lái)源: 碼農(nóng)與軟件時(shí)代 ? 作者: 碼農(nóng)與軟件時(shí)代 ? 2023-02-15 14:06 ? 次閱讀

Ansible是一種運(yùn)維自動(dòng)化工具軟件,用來(lái)批量配置服務(wù)器或網(wǎng)絡(luò)設(shè)備(目標(biāo)主機(jī))。

一、概念理解

  1. Ansible如何來(lái)連接目標(biāo)主機(jī)?

通過(guò)SSH協(xié)議進(jìn)行連接,詳細(xì)參考:SSH協(xié)議

  1. 目標(biāo)主機(jī)為何能相信Ansible,并接受其指令?

(1)Ansible知道目標(biāo)主機(jī)密碼,并通過(guò)密碼訪問(wèn)。

Ansible將密碼配置在以明文的形式配置在文件(也就是hosts文件),存在安全性問(wèn)題。

(2)Ansible主機(jī)生成密鑰對(duì),并將公鑰拷貝到目標(biāo)主機(jī)。

通過(guò)ssh-copy-id命令進(jìn)行拷貝,并修改~/.ssh的目錄權(quán)限。如:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@30.0.1.43

當(dāng)目標(biāo)主機(jī)較多時(shí),這種方法也比較受限。

(3)Ansible自動(dòng)化安裝配置工具

Redhat下,通過(guò)Kickstart工具進(jìn)行,可進(jìn)行大批量的認(rèn)證

  1. Ansible如何知道需要連接哪些目標(biāo)主機(jī)?

目標(biāo)主機(jī)列表定義在/etc/ansible/hosts文件,稱為 "inventory" 。定義格式為:

[webservers]
  30.0.1.234
  30.0.1.154
  1. 目標(biāo)主機(jī)上都有哪些事情需要做?

運(yùn)維過(guò)程中,需要做的事情很多,如:

(1)基礎(chǔ)命令,如ls;

(2)定時(shí)任務(wù),如crontab

(3)啟停服務(wù),如service ngnix restart

(4)包管理,如apt install ansible

......

  1. Ansible如何知道做這些事(任務(wù))的?

運(yùn)維人員通過(guò)兩種方式來(lái)告知Ansible做事:

一種是我們熟悉的命令行方式,類(lèi)似ansible webserver -m ping,稱之**“Ad-Hoc命令”**;

一種是通過(guò)YAML語(yǔ)法定義要執(zhí)行的命令,稱為 “Playbook” 方式。

  1. Ansible又是如何具備做這些事的能力的?

Ansible通過(guò) “Module” 來(lái)實(shí)現(xiàn),如command、shell、copy等等。

  1. 運(yùn)維人員如何知道Ansible提供了哪些Module?

查找Ansible提供的模塊

root@linux:/etc/ansible# ansible-doc -l
a10_server                                           Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' server object.                           
a10_server_axapi3                                    Manage A10 Networks AX/SoftAX/Thunder/vThunder devices                                           
......

模塊的詳細(xì)信息

root@linux:/etc/ansible# ansible-doc -s ping
- name: Try to connect to host, verify a usable python and return `pong' on success
  ping:
      data:                  # Data to return for the `ping' return value. If this parameter is set to `crash' the 
module will cause an exception.
  1. 如何讀懂PlayBook?

(1)了解YAML

PlayBook是通過(guò)YAML語(yǔ)法來(lái)實(shí)現(xiàn)的,詳情參考:《Yaml:數(shù)據(jù)的另一種形態(tài)》

(2)清楚PlayBook有哪些關(guān)鍵字,如何來(lái)的?

---                      #文件開(kāi)始
 - hosts: 30.0.1.43       #目標(biāo)主機(jī)
  remote_user: root       #目標(biāo)主機(jī)用戶
  vars:                   #變量關(guān)鍵字
    http_port: 8088       #定義變量




  tasks:                             #任務(wù)關(guān)鍵字
    - name: create new file                     #自定義任務(wù)
      file: name=/tmp/playtest.txt state=touch  #Module file,創(chuàng)建新文件
    .......
  handlers:                                     #處理關(guān)鍵字
    - name: restart apache                      #自定義處理名稱
      service: name=httpd state=restarted       #重啟服務(wù)

說(shuō)明:file、service都是module名字。

二、Ansible小示例

基礎(chǔ)環(huán)境:Ubuntu18.04 LTS

  1. 安裝ansible軟件
root@linux:/# apt install ansible
......
root@linux:/# apt install sshpass

查看ansible版本信息:

root@linux:/etc/ansible# ansible --version
ansible 2.5.1
  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/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.17 (default, Sep 30 2020, 13:38:04) [GCC 7.5.0]

已生成ansible.cfg、hosts文件

root@linux:/etc/ansible# ls
ansible.cfg  hosts
  1. Ansible連通目標(biāo)主機(jī)

(1)目標(biāo)主機(jī)有兩臺(tái),IP地址分別為:30.0.1.234、30.0.1.154

(2)配置hosts文件

root@linux:/etc/ansible# vi hosts   
[webservers]
30.0.1.234
30.0.1.154

(3)執(zhí)行ping操作,測(cè)試連接

root@linux:~# ansible webservers -m ping
The authenticity of host '30.0.1.154 (30.0.1.154)' can't be established.
ECDSA key fingerprint is SHA256:THHVZ1IfwqJk0YpV7Qk/a+ZvMds4phRQJEbrJIJFagg.
Are you sure you want to continue connecting (yes/no)? The authenticity of host '30.0.1.234 (30.0.1.234)' can't be established.
ECDSA key fingerprint is SHA256:THHVZ1IfwqJk0YpV7Qk/a+ZvMds4phRQJEbrJIJFagg.
Are you sure you want to continue connecting (yes/no)? yes
30.0.1.154 | UNREACHABLE! => {
"changed": false, 
"msg": "Failed to connect to the host via ssh: Warning: Permanently added '30.0.1.154' (ECDSA) to the list of known hosts.\\r\\nroot@30.0.1.154: Permission denied (publickey,password).\\r\\n", 
"unreachable": true
}
30.0.1.234 | UNREACHABLE! => {
"changed": false, 
"msg": "Failed to connect to the host via ssh: Host key verification failed.\\r\\n", 
"unreachable": true
}

連接失敗

(4)修改ansible.cfg配置文件,不進(jìn)行host_key的校驗(yàn)

root@linux:~# vi /etc/ansible/ansible.cfg 
# uncomment this to disable SSH key host checking
host_key_checking = False
root@linux:/etc/ansible# ansible webservers -m ping
30.0.1.154 | UNREACHABLE! => {
"changed": false, 
"msg": "Failed to connect to the host via ssh: root@30.0.1.154: Permission denied (publickey,password).\\r\\n", 
"unreachable": true
}
30.0.1.234 | UNREACHABLE! => {
"changed": false, 
"msg": "Failed to connect to the host via ssh: Warning: Permanently added '30.0.1.234' (ECDSA) to the list of known hosts.\\r\\nroot@30.0.1.234: Permission denied (publickey,password).\\r\\n", 
"unreachable": true
}

依然無(wú)法連接到目標(biāo)主機(jī),root用戶不允許進(jìn)行遠(yuǎn)程登錄

(5)修改hosts文件

root@linux:/etc/ansible# vi hosts 
[webservers]
30.0.1.234
30.0.1.154




[webservers:vars]
ansible_ssh_user=linux
ansible_ssh_pass=user@linux
ansible_become=true
ansible_become_method=su
ansible_become_user=root
ansible_become_pass=root@linux

上面配置語(yǔ)句的含義為:以linux用戶登錄,然后再提高權(quán)限,切換到root用戶。

(6)再次測(cè)試,連接成功

root@linux:/etc/ansible# ansible webservers -m ping
30.0.1.234 | SUCCESS => {
"changed": false, 
"ping": "pong"
}
30.0.1.154 | SUCCESS => {
"changed": false, 
"ping": "pong"
}

"pong" 表示ping成功,連接成功

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9303

    瀏覽量

    86061
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    29

    文章

    5622

    瀏覽量

    79663
  • 網(wǎng)絡(luò)設(shè)備

    關(guān)注

    0

    文章

    318

    瀏覽量

    29765
  • 工具軟件
    +關(guān)注

    關(guān)注

    1

    文章

    16

    瀏覽量

    6912
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Ansible軟件平臺(tái)

    Ansible 是一個(gè)免費(fèi)的用于配置和管理計(jì)算機(jī)的的軟件平臺(tái)。它集成了軟件部署,ad hoc任務(wù)執(zhí)行,和管理配置的功能。它依賴Python2.4之后的版本和通過(guò)SSH或者PowerShell管理節(jié)點(diǎn)
    發(fā)表于 07-18 08:24

    ansible核心程序批量部署

    ansible批量部署
    發(fā)表于 07-26 15:30

    ansible調(diào)用playbook遠(yuǎn)程mvn顯示找不到JAVA_HOME

    ansible 】關(guān)于ansible遠(yuǎn)程執(zhí)行的環(huán)境變量問(wèn)題
    發(fā)表于 11-06 09:26

    ansible的工作原理和安裝

    ansible安裝(一)
    發(fā)表于 03-25 11:19

    ansible playbook+jenkins如何實(shí)現(xiàn)自動(dòng)新增域名

    ansible-playbook+jenkins實(shí)現(xiàn)自動(dòng)新增域名
    發(fā)表于 06-03 11:58

    ansible 某臺(tái)機(jī)器的ssh端口不是默認(rèn)端口,如何解決?

    現(xiàn)象:ansible 某臺(tái)機(jī)器的ssh端口不是默認(rèn)端口
    發(fā)表于 11-06 06:56

    ansible-first-book 自動(dòng)化運(yùn)維工具

    ansible-first-book 自動(dòng)化運(yùn)維工具
    發(fā)表于 09-08 09:31 ?5次下載

    使用用Ansible重復(fù)部署ELK STACK

    本文介紹如何使用Ansible 劇本在遠(yuǎn)程服務(wù)器上設(shè)置ELK(5.x版本)進(jìn)行開(kāi)發(fā)。它將帶你完成安裝Ansible的步驟,連接到目標(biāo)服務(wù)器,執(zhí)行該劇本,并建立初始的日志流水線。 讓我們開(kāi)始吧! 1.
    發(fā)表于 09-28 14:50 ?0次下載
    使用用<b class='flag-5'>Ansible</b>重復(fù)部署ELK STACK

    Ansible到底是個(gè)什么東西?

    Ansible 是一個(gè)配置管理和應(yīng)用部署工具,即在管理主機(jī)上操作一些命令就能在節(jié)點(diǎn)主機(jī)上進(jìn)行相應(yīng)的動(dòng)作。由 Python 編寫(xiě),由模塊化組成,即執(zhí)行動(dòng)作的實(shí)體,在 ansible 上都是靠著相應(yīng)
    的頭像 發(fā)表于 04-08 14:47 ?2.2w次閱讀
    <b class='flag-5'>Ansible</b>到底是個(gè)什么東西?

    Ansible入門(mén)教程如何快速了解Ansible

    頂級(jí)大牛帶你20分鐘玩轉(zhuǎn)Ansible
    的頭像 發(fā)表于 05-12 11:49 ?5178次閱讀

    一文詳解Ansible的自動(dòng)化運(yùn)維

    CMDB:CMDB 存儲(chǔ)和管理者企業(yè)IT架構(gòu)中的各項(xiàng)配置信息,是構(gòu)建 ITIL 項(xiàng)目的核心工具,運(yùn)維人員可以組合 CMDB 和 Ansible,通過(guò) CMDB 直接下發(fā)指令調(diào)用Ansible 工具集完成操作者所希望達(dá)到的目標(biāo);
    的頭像 發(fā)表于 05-19 17:06 ?4415次閱讀
    一文詳解<b class='flag-5'>Ansible</b>的自動(dòng)化運(yùn)維

    Ansible Container容器自動(dòng)化構(gòu)建部署工具

    ./oschina_soft/ansible-container.zip
    發(fā)表于 05-11 10:15 ?1次下載
    <b class='flag-5'>Ansible</b> Container容器自動(dòng)化構(gòu)建部署工具

    使用Ansible的OpenStack自動(dòng)化

    通過(guò)將 Ansible Tower 與 OpenStack 集成到 Cyber Range 軟件中,我們能夠構(gòu)建一個(gè)應(yīng)用程序,為全球客戶提供按需培訓(xùn)和真實(shí)場(chǎng)景。將 Ansible REST API 與行動(dòng)手冊(cè)集成,極大地利用了配置到更系統(tǒng)化的自動(dòng)化流程所需的許多代碼。我們
    的頭像 發(fā)表于 12-21 14:12 ?1252次閱讀
    使用<b class='flag-5'>Ansible</b>的OpenStack自動(dòng)化

    為什么需要用Ansible管理crontab呢?

    Ansible 是使用 Python 開(kāi)發(fā)的自動(dòng)化運(yùn)維工具。它可以配置管理,部署軟件并編排更高級(jí)的任務(wù),例如持續(xù)部署或零停機(jī)滾動(dòng)升級(jí)。
    的頭像 發(fā)表于 08-17 09:53 ?647次閱讀

    利用Ansible批量100臺(tái)服務(wù)器添加Crontab

    今天浩道跟大家分享關(guān)于Ansible自動(dòng)化運(yùn)維相關(guān)硬核干貨,利用Ansible批量100臺(tái)服務(wù)器添加Crontab !
    的頭像 發(fā)表于 08-19 14:24 ?689次閱讀
    主站蜘蛛池模板: 夜夜爽爽 | 色屋网| 新版天堂资源中文在线 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 亚洲w码欧洲s码免费 | 免费网站黄成人影院 | www.亚洲视频.com | 亚洲香蕉影院 | 日本69式xxx视频 | 97影院理论在线观看 | 狠狠色噜噜噜噜狠狠狠狠狠狠奇米 | 人人插人人艹 | 欧美精品成人a多人在线观看 | 亚洲二区视频 | 亚洲最大色网 | 夭天干天天做天天免费看 | 不卡无毒免费毛片视频观看 | 欧洲天堂网 | 日本大片免费播放网站 | 人日人操| 伊人久久影院大香线蕉 | 午夜tv| 国产主播一区二区 | 国产男人女人做性全过程视频 | 天天色综合久久 | 亚洲精品色一区色二区色三区 | 国模吧新入口 | 日本一区二区三区在线观看视频 | 在线免费色视频 | 美女视频永久黄网站在线观看 | 2015xxxx欧美| 欧美性淫爽www视频播放 | 久久国产免费 | 88av免费| 日韩免费在线视频 | 久久99热国产这有精品 | 中文字幕一区二区精品区 | xxxx日本69xxxxx | 夜夜摸视频网 | 国产又粗又大又爽又免费 | 好大好硬好长好爽a网站 |