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

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

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

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

什么是Ansible

汽車電子技術(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做事:

一種是我們熟悉的命令行方式,類似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)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    13

    文章

    9716

    瀏覽量

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

    關(guān)注

    29

    文章

    5748

    瀏覽量

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

    關(guān)注

    0

    文章

    325

    瀏覽量

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

    關(guān)注

    1

    文章

    16

    瀏覽量

    6969
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎ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重復(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 編寫,由模塊化組成,即執(zhí)行動(dòng)作的實(shí)體,在 ansible 上都是靠著相應(yīng)
    的頭像 發(fā)表于 04-08 14:47 ?2.2w次閱讀
    <b class='flag-5'>Ansible</b>到底是個(gè)什么東西?

    Ansible入門教程如何快速了解Ansible

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

    一文詳解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 ?4703次閱讀
    一文詳解<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 ?1408次閱讀
    使用<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 ?779次閱讀

    IT自動(dòng)化工具Ansible基礎(chǔ)入門

    Ansible是幫助運(yùn)維人員實(shí)現(xiàn)自動(dòng)化的最重要的工具之一。
    的頭像 發(fā)表于 02-07 10:00 ?625次閱讀
    IT自動(dòng)化工具<b class='flag-5'>Ansible</b>基礎(chǔ)入門

    Ansible Playbook中的變量使用技巧

    在inventory中定義的連接變量(比如ansible_ssh_user);優(yōu)先級(jí)第二。
    的頭像 發(fā)表于 04-15 10:26 ?222次閱讀
    主站蜘蛛池模板: 视频精品一区二区三区 | 午夜影院免费视频 | 农村女人的一级毛片 | 米奇久久 | 亚洲一区二区三区不卡视频 | 亚洲欧美色中文字幕 | 痴女中文字幕在线视频 | 国产一区二区三区不卡观 | 日本理论午夜中文字幕第一页 | 亚洲444444在线观看 | 特黄色毛片| 中国美女乱淫免费看视频 | 在线亚洲一区 | 天堂网www天堂在线网 | 国产成人精品三级 | 日韩一级片免费 | ts视频在线观看 | 免费视频网站在线看视频 | 男人的天堂久久精品激情 | 女人的天堂网站 | 起碰成人免费公开网视频 | 精品视频一二三区 | 色婷婷色 | julia一区二区三区中文字幕 | 91亚洲视频在线 | 午夜爽爽性刺激一区二区视频 | 美女一区二区三区 | 18男女很黄的视频 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片免费看 | 中文天堂在线www | 日日干夜夜爽 | 在线播放国产一区 | 欧美激情亚洲精品日韩1区2区 | 精品久久久久久 | 视频在线观看免费 | 免费的毛片 | 狠狠色丁香婷婷综合久久片 | 国产亚洲精品成人a在线 | 天堂资源在线bt种子8 | 天天看天天摸色天天综合网 | 国产一级特黄aaa大片 |