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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是Ansible

汽車電子技術 ? 來源: 碼農與軟件時代 ? 作者: 碼農與軟件時代 ? 2023-02-15 14:06 ? 次閱讀

Ansible是一種運維自動化工具軟件,用來批量配置服務器或網絡設備(目標主機)。

一、概念理解

  1. Ansible如何來連接目標主機?

通過SSH協議進行連接,詳細參考:SSH協議

  1. 目標主機為何能相信Ansible,并接受其指令?

(1)Ansible知道目標主機密碼,并通過密碼訪問。

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

(2)Ansible主機生成密鑰對,并將公鑰拷貝到目標主機。

通過ssh-copy-id命令進行拷貝,并修改~/.ssh的目錄權限。如:

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

當目標主機較多時,這種方法也比較受限。

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

Redhat下,通過Kickstart工具進行,可進行大批量的認證。

  1. Ansible如何知道需要連接哪些目標主機?

目標主機列表定義在/etc/ansible/hosts文件,稱為 "inventory" 。定義格式為:

[webservers]
  30.0.1.234
  30.0.1.154
  1. 目標主機上都有哪些事情需要做?

運維過程中,需要做的事情很多,如:

(1)基礎命令,如ls;

(2)定時任務,如crontab

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

(4)包管理,如apt install ansible

......

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

運維人員通過兩種方式來告知Ansible做事:

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

一種是通過YAML語法定義要執行的命令,稱為 “Playbook” 方式。

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

Ansible通過 “Module” 來實現,如command、shell、copy等等。

  1. 運維人員如何知道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                                           
......

模塊的詳細信息

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是通過YAML語法來實現的,詳情參考:《Yaml:數據的另一種形態》。

(2)清楚PlayBook有哪些關鍵字,如何來的?

---                      #文件開始
 - hosts: 30.0.1.43       #目標主機
  remote_user: root       #目標主機用戶
  vars:                   #變量關鍵字
    http_port: 8088       #定義變量




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

說明:file、service都是module名字。

二、Ansible小示例

基礎環境: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連通目標主機

(1)目標主機有兩臺,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)執行ping操作,測試連接

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配置文件,不進行host_key的校驗

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
}

依然無法連接到目標主機,root用戶不允許進行遠程登錄

(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

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

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

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成功,連接成功

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    13

    文章

    9716

    瀏覽量

    87351
  • 自動化
    +關注

    關注

    29

    文章

    5748

    瀏覽量

    81701
  • 網絡設備
    +關注

    關注

    0

    文章

    325

    瀏覽量

    30336
  • 工具軟件
    +關注

    關注

    1

    文章

    16

    瀏覽量

    6969
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Ansible軟件平臺

    Ansible 是一個免費的用于配置和管理計算機的的軟件平臺。它集成了軟件部署,ad hoc任務執行,和管理配置的功能。它依賴Python2.4之后的版本和通過SSH或者PowerShell管理節點
    發表于 07-18 08:24

    ansible核心程序批量部署

    ansible批量部署
    發表于 07-26 15:30

    ansible調用playbook遠程mvn顯示找不到JAVA_HOME

    ansible 】關于ansible遠程執行的環境變量問題
    發表于 11-06 09:26

    ansible的工作原理和安裝

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

    ansible playbook+jenkins如何實現自動新增域名

    ansible-playbook+jenkins實現自動新增域名
    發表于 06-03 11:58

    ansible 某臺機器的ssh端口不是默認端口,如何解決?

    現象:ansible 某臺機器的ssh端口不是默認端口
    發表于 11-06 06:56

    使用用Ansible重復部署ELK STACK

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

    Ansible到底是個什么東西?

    Ansible 是一個配置管理和應用部署工具,即在管理主機上操作一些命令就能在節點主機上進行相應的動作。由 Python 編寫,由模塊化組成,即執行動作的實體,在 ansible 上都是靠著相應
    的頭像 發表于 04-08 14:47 ?2.2w次閱讀
    <b class='flag-5'>Ansible</b>到底是個什么東西?

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

    頂級大牛帶你20分鐘玩轉Ansible!
    的頭像 發表于 05-12 11:49 ?5337次閱讀

    一文詳解Ansible的自動化運維

    CMDB:CMDB 存儲和管理者企業IT架構中的各項配置信息,是構建 ITIL 項目的核心工具,運維人員可以組合 CMDB 和 Ansible,通過 CMDB 直接下發指令調用Ansible 工具集完成操作者所希望達到的目標;
    的頭像 發表于 05-19 17:06 ?4703次閱讀
    一文詳解<b class='flag-5'>Ansible</b>的自動化運維

    Ansible Container容器自動化構建部署工具

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

    使用Ansible的OpenStack自動化

    通過將 Ansible Tower 與 OpenStack 集成到 Cyber Range 軟件中,我們能夠構建一個應用程序,為全球客戶提供按需培訓和真實場景。將 Ansible REST API 與行動手冊集成,極大地利用了配置到更系統化的自動化流程所需的許多代碼。我們
    的頭像 發表于 12-21 14:12 ?1408次閱讀
    使用<b class='flag-5'>Ansible</b>的OpenStack自動化

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

    Ansible 是使用 Python 開發的自動化運維工具。它可以配置管理,部署軟件并編排更高級的任務,例如持續部署或零停機滾動升級。
    的頭像 發表于 08-17 09:53 ?779次閱讀

    IT自動化工具Ansible基礎入門

    Ansible是幫助運維人員實現自動化的最重要的工具之一。
    的頭像 發表于 02-07 10:00 ?625次閱讀
    IT自動化工具<b class='flag-5'>Ansible</b>基礎入門

    Ansible Playbook中的變量使用技巧

    在inventory中定義的連接變量(比如ansible_ssh_user);優先級第二。
    的頭像 發表于 04-15 10:26 ?222次閱讀
    主站蜘蛛池模板: 特黄色片 | 欧美猛交xxxx乱大交 | 九九精品免费观看在线 | 国产精品天天看大片特色视频 | 高清一级做a爱视频免费 | 女人张开腿 让男人桶视频 女人张开腿等男人桶免费视频 | 四虎影院在线视频 | 激情五月亚洲 | 人与牲动交xxxxbbbb | 在线黄 | 中文字幕自拍 | 午夜毛片不卡高清免费 | 四虎免费影院4hu永久免费 | 美女扒开尿口让男人捅 | 一区二区高清在线 | 美女扒开尿口给男人看大全 | 又潮又黄的叫床视频 | 1024你懂的在线播放欧日韩 | 婷婷天堂| 午夜视频在线免费看 | 亚洲a网 | 狂野欧美性色xo影院 | 中文字幕日韩三级 | 精品国产成人三级在线观看 | 天天做天天爱天天一爽一毛片 | 97午夜| 免费高清视频免费观看 | 18岁女人毛片| 欧美三级久久 | 色香视频首页 | 男人透女人超爽视频免费 | 毛片污| 午夜两性色视频免费网站 | 岛国午夜 | 国产三级日本三级日产三 | 老色批午夜免费视频网站 | 色婷婷丁香六月 | 视频一区二区中文字幕 | 97综合 | 老师你好滑下面好湿h | 亚洲一区二区三区首页 |