国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Ansible 自動化工具安裝、配置和快速入門指南

運維 系統運維 自動化
Ansible 是一個開源、易于使用的功能強大的 IT 自動化工具,通過 SSH 在客戶端節點上執行任務。它是用 Python 構建的,這是當今世界上最流行、最強大的編程語言之一。兩端都需要使用 Python 才能執行所有模塊。

市面上有很多自動化工具。我可以舉幾個例子,例如 Puppet、Chef、CFEngine、Foreman、Katello、Saltstock、Space Walk,它們被許多組織廣泛使用。

自動化工具可以做什么?

自動化工具可以自動執行例行任務,無需人工干預,從而使 Linux 管理員的工作變得更加輕松。這些工具允許用戶執行配置管理,應用程序部署和資源調配。

[[383026]]

為什么喜歡 Ansible?

Ansible 是一種無代理的自動化工具,使用 SSH 執行所有任務,但其它工具需要在客戶端節點上安裝代理。

什么是 Ansible?

Ansible 是一個開源、易于使用的功能強大的 IT 自動化工具,通過 SSH 在客戶端節點上執行任務。

它是用 Python 構建的,這是當今世界上最流行、最強大的編程語言之一。兩端都需要使用 Python 才能執行所有模塊。

它可以配置系統、部署軟件和安排高級 IT 任務,例如連續部署或零停機滾動更新。你可以通過 Ansible 輕松執行任何類型的自動化任務,包括簡單和復雜的任務。

在開始之前,你需要了解一些 Ansible 術語,這些術語可以幫助你更好的創建任務。

Ansible 如何工作?

Ansible 通過在客戶端節點上推送稱為 ansible 模塊的小程序來工作,這些模塊臨時存儲在客戶端節點中,通過 JSON 協議與 Ansible 服務器進行通信。

Ansible 通過 SSH 運行這些模塊,并在完成后將其刪除。

模塊是用 Python 或 Perl 等編寫的一些腳本。

 

控制節點,用于控制劇本的全部功能,包括客戶端節點(主機)。

  • 控制節點Control node:使用 Ansible 在受控節點上執行任務的主機。你可以有多個控制節點,但不能使用 Windows 系統主機當作控制節點。
  • 受控節點Managed node:控制節點配置的主機列表。
  • 清單Inventory:控制節點管理的一個主機列表,這些節點在 /etc/ansible/hosts 文件中配置。它包含每個節點的信息,比如 IP 地址或其主機名,還可以根據需要對這些節點進行分組。
  • 模塊Module:每個模塊用于執行特定任務,目前有 3387 個模塊。
  • 點對點ad-hoc:它允許你一次性運行一個任務,它使用 /usr/bin/ansible 二進制文件。
  • 任務Task:每個動作Play都有一個任務列表。任務按順序執行,在受控節點中一次執行一個任務。
  • 劇本Playbook:你可以使用劇本同時執行多個任務,而使用點對點只能執行一個任務。劇本使用 YAML 編寫,易于閱讀。將來,我們將會寫一篇有關劇本的文章,你可以用它來執行復雜的任務。

測試環境

此環境包含一個控制節點(server.2g.lab)和三個受控節點(node1.2g.labnode2.2g.labnode3.2g.lab),它們均在虛擬環境中運行,操作系統分別為:

System Purpose Hostname IP Address OS
Ansible Control Node server.2g.lab 192.168.1.7 Manjaro 18
Managed Node1 node1.2g.lab 192.168.1.6 CentOS7
Managed Node2 node2.2g.lab 192.168.1.5 CentOS8
Managed Node3 node3.2g.lab 192.168.1.9 Ubuntu 18.04
User: daygeek      

前置條件

  • 在 Ansible 控制節點和受控節點之間啟用無密碼身份驗證。
  • 控制節點必須是 Python 2(2.7 版本) 或 Python 3(3.5 或更高版本)。
  • 受控節點必須是 Python 2(2.6 或更高版本) 或 Python 3(3.5 或更高版本)。
  • 如果在遠程節點上啟用了 SELinux,則在 Ansible 中使用任何與復制、文件、模板相關的功能之前,還需要在它們上安裝 libselinux-python

如何在控制節點上安裝 Ansible

對于 Fedora/RHEL 8/CentOS 8 系統,使用 DNF 命令 來安裝 Ansible。

注意:你需要在 RHEL/CentOS 系統上啟用 EPEL 倉庫,因為 Ansible 軟件包在發行版官方倉庫中不可用。

  1. $ sudo dnf install ansible

對于 Debian/Ubuntu 系統,使用 APT-GET 命令 或 APT 命令 來安裝 Ansible。

配置下面的 PPA 以便在 Ubuntu 上安裝最新穩定版本的 Ansible。

  1. $ sudo apt update
  2. $ sudo apt install software-properties-common
  3. $ sudo apt-add-repository --yes --update ppa:ansible/ansible
  4. $ sudo apt install ansible

對于 Debian 系統,配置以下源列表:

  1. $ echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list.d/ansible.list
  2. $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
  3. $ sudo apt update
  4. $ sudo apt install ansible

對于 Arch Linux 系統,使用 Pacman 命令 來安裝 Ansible:

  1. $ sudo pacman -S ansible

對于 RHEL/CentOS 系統,使用 YUM 命令 來安裝 Ansible:

  1. $ sudo yum install ansible

對于 openSUSE 系統,使用 Zypper 命令 來安裝 Ansible:

  1. $ sudo zypper install ansible

或者,你可以使用 Python PIP 包管理工具 來安裝:

  1. $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  2. $ sudo python get-pip.py
  3. $ sudo pip install ansible

在控制節點上檢查安裝的 Ansible 版本:

  1. $ ansible --version
  2.  
  3. ansible 2.9.2
  4. config file = /etc/ansible/ansible.cfg
  5. configured module search path = ['/home/daygeek/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  6. ansible python module location = /usr/lib/python3.8/site-packages/ansible
  7. executable location = /usr/bin/ansible
  8. python version = 3.8.1 (default, Jan 8 2020, 23:09:20) [GCC 9.2.0]

如何在受控節點上安裝 Python?

使用以下命令在受控節點上安裝 python:

  1. $ sudo yum install -y python
  2. $ sudo dnf install -y python
  3. $ sudo zypper install -y python
  4. $ sudo pacman -S python
  5. $ sudo apt install -y python

如何在 Linux 設置 SSH 密鑰身份驗證(無密碼身份驗證)

使用以下命令創建 ssh 密鑰,然后將其復制到遠程計算機。

  1. $ ssh-keygen
  2. $ ssh-copy-id daygeek@node1.2g.lab
  3. $ ssh-copy-id daygeek@node2.2g.lab
  4. $ ssh-copy-id daygeek@node3.2g.lab

具體參考這篇文章《在 Linux 上設置 SSH 密鑰身份驗證(無密碼身份驗證)》。

如何創建 Ansible 主機清單

在 /etc/ansible/hosts 文件中添加要管理的節點列表。如果沒有該文件,則可以創建一個新文件。以下是我的測試環境的主機清單文件:

  1. $ sudo vi /etc/ansible/hosts
  2.  
  3. [web]
  4. node1.2g.lab
  5. node2.2g.lab
  6.  
  7. [app]
  8. node3.2g.lab

讓我們看看是否可以使用以下命令查找所有主機。

  1. $ ansible all --list-hosts
  2.  
  3. hosts (3):
  4. node1.2g.lab
  5. node2.2g.lab
  6. node3.2g.lab

對單個組運行以下命令:

  1. $ ansible web --list-hosts
  2.  
  3. hosts (2):
  4. node1.2g.lab
  5. node2.2g.lab

如何使用點對點命令執行任務

一旦完成主機清單驗證檢查后,你就可以上路了。干的漂亮!

語法:

  1. ansible [pattern] -m [module] -a "[module options]"
  2.  
  3. Details:
  4. ========
  5. ansible: A command
  6. pattern: Enter the entire inventory or a specific group
  7. -m [module]: Run the given module name
  8. -a [module options]: Specify the module arguments

使用 Ping 模塊對主機清單中的所有節點執行 ping 操作:

  1. $ ansible all -m ping
  2.  
  3. node3.2g.lab | SUCCESS => {
  4. "ansible_facts": {
  5. "discovered_interpreter_python": "/usr/bin/python"
  6. },
  7. "changed": false,
  8. "ping": "pong"
  9. }
  10. node1.2g.lab | SUCCESS => {
  11. "ansible_facts": {
  12. "discovered_interpreter_python": "/usr/bin/python"
  13. },
  14. "changed": false,
  15. "ping": "pong"
  16. }
  17. node2.2g.lab | SUCCESS => {
  18. "ansible_facts": {
  19. "discovered_interpreter_python": "/usr/libexec/platform-python"
  20. },
  21. "changed": false,
  22. "ping": "pong"
  23. }

所有系統都返回了成功,但什么都沒有改變,只返回了 pong 代表成功。

你可以使用以下命令獲取可用模塊的列表。

  1. $ ansible-doc -l

當前有 3387 個內置模塊,它們會隨著 Ansible 版本的遞增而增加:

  1. $ ansible-doc -l | wc -l
  2. 3387

使用 command 模塊對主機清單中的所有節點執行命令:

  1. $ ansible all -m command -a "uptime"
  2.  
  3. node3.2g.lab | CHANGED | rc=0 >>
  4. 18:05:07 up 1:21, 3 users, load average: 0.12, 0.06, 0.01
  5. node1.2g.lab | CHANGED | rc=0 >>
  6. 06:35:06 up 1:21, 4 users, load average: 0.01, 0.03, 0.05
  7. node2.2g.lab | CHANGED | rc=0 >>
  8. 18:05:07 up 1:25, 3 users, load average: 0.01, 0.01, 0.00

對指定組執行 command 模塊。

檢查 app 組主機的內存使用情況:

  1. $ ansible app -m command -a "free -m"
  2.  
  3. node3.2g.lab | CHANGED | rc=0 >>
  4. total used free shared buff/cache available
  5. Mem: 1993 1065 91 6 836 748
  6. Swap: 1425 0 1424

要對 web 組運行 hostnamectl 命令,使用以下格式:

  1. $ ansible web -m command -a "hostnamectl"
  2.  
  3. node1.2g.lab | CHANGED | rc=0 >>
  4. Static hostname: CentOS7.2daygeek.com
  5. Icon name: computer-vm
  6. Chassis: vm
  7. Machine ID: 002f47b82af248f5be1d67b67e03514c
  8. Boot ID: dc38f9b8089d4b2d9304e526e00c6a8f
  9. Virtualization: kvm
  10. Operating System: CentOS Linux 7 (Core)
  11. CPE OS Name: cpe:/o:centos:centos:7
  12. Kernel: Linux 3.10.0-957.el7.x86_64
  13. Architecture: x86-64
  14. node2.2g.lab | CHANGED | rc=0 >>
  15. Static hostname: node2.2g.lab
  16. Icon name: computer-vm
  17. Chassis: vm
  18. Machine ID: e39e3a27005d44d8bcbfcab201480b45
  19. Boot ID: 27b46a09dde546da95ace03420fe12cb
  20. Virtualization: oracle
  21. Operating System: CentOS Linux 8 (Core)
  22. CPE OS Name: cpe:/o:centos:centos:8
  23. Kernel: Linux 4.18.0-80.el8.x86_64
  24. Architecture: x86-64

參考:Ansible 文檔。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2015-08-17 14:13:52

Ansible輕量自動化部署工具

2021-03-02 06:32:03

Ansible系統運維

2019-12-02 15:45:53

CentOS 8AnsibleLinux

2020-03-31 10:58:35

網絡自動化SD-WAN軟件定義網絡

2021-03-01 13:00:21

Ansible系統運維

2021-03-31 10:20:54

LinuxParallel SS命令

2022-07-20 12:18:36

Python自動化工具tox

2023-08-28 09:14:20

ScrapyPython

2014-09-22 11:24:18

運維

2010-05-26 16:21:25

2024-03-08 13:11:05

前端自動化工具

2010-12-06 09:56:52

數據中心網絡

2021-05-19 17:04:29

Python阿里自動化工具

2015-11-09 10:25:40

自動化工具開源

2013-12-19 09:56:12

云計算自動化工具云計算管理

2021-05-08 09:00:53

AI 工具人工智能

2022-05-06 12:04:24

Ansible管理工具

2017-07-03 16:44:10

數據庫MongoDBNoSQL

2017-03-22 18:30:44

Linux運維自動化ansible

2017-03-22 16:31:30

Linux運維自動化ansible
點贊
收藏

51CTO技術棧公眾號

亚洲欧美在线看| 伊人色综合久久天天人手人婷| 欧美 日韩 国产 一区| 成人香蕉社区| 欧美成人精品一区二区男人小说| а√天堂资源地址在线下载| 欧美中文在线| 影音先锋导航| 国产精品永久在线| 欧美成aaa人片在线观看蜜臀| 亚洲人成亚洲人成在线观看| 亚洲国产精品电影| 精品第一国产综合精品aⅴ| 日韩欧美你懂的| 日本韩国欧美在线| 色伊人久久综合中文字幕| 亚洲成在线观看| 亚洲六月丁香色婷婷综合久久 | 91福利在线视频| 麻豆av电影在线观看| 日本人妖在线| 蝌蚪视频在线播放| 黄视频在线观看免费| 欧洲亚洲精品视频| yes4444视频在线观看| 日韩毛片久久久| 麻豆tv在线| 特级毛片在线| 国产高清中文字幕在线| 涩涩视频在线播放| 欧美v在线观看| www.xxx麻豆| 熟女少妇在线视频播放| 欧美国产激情视频| 最近免费中文字幕中文高清百度| 国产一级做a爰片久久| 爱爱永久免费视频| 在线播放你懂的| 成人全视频高清免费观看| 182tv在线播放| 婷婷六月国产精品久久不卡| 高清欧美日韩| 在线观看你懂| 中文字幕在线影视资源| 爱爱爱免费视频在线观看| 国产一二三区在线观看| 国产美女高潮在线观看| 99只有精品| 51亚洲精品| 日韩欧美视频在线播放| 激情另类综合| 另类小说欧美激情| 91在线你懂得| 欧美激情自拍| 在线日韩欧美| 美女一区二区视频| 久久亚洲捆绑美女| 樱桃视频在线观看一区| 在线看日韩精品电影| 亚洲电影第1页| 色婷婷综合久久久久| 77777亚洲午夜久久多人| 成人黄色网免费| 日本不卡高清视频一区| 无码人妻丰满熟妇区96| 2020中文字幕在线播放| 岛国最新视频免费在线观看| 伊人网在线免费| 午夜久久久精品| 精品亚洲成a人片在线观看| 波多野结衣中文在线| avtt久久| 久久久久久久久久久久久久久久久久| 媚黑女一区二区| 91女厕偷拍女厕偷拍高清| 一区二区三区波多野结衣在线观看| 在线免费av一区| 亚洲午夜久久久影院| 欧美一级大片在线观看| 日韩精品免费在线播放| 在线观看视频亚洲| 国产高清在线不卡| 九九九九久久久久| 国产中文字幕二区| 天堂a中文在线| 三上悠亚国产精品一区二区三区| 日韩欧美中文字幕电影| 久久亚洲风情| 国产亚洲美州欧州综合国 | 亚洲欧洲制服丝袜| 欧美喷潮久久久xxxxx| av综合在线播放| 精品福利在线观看| 亚洲欧美另类在线观看| 国产精品1234| 一区二区三区国| av手机免费观看| 欧美人与性动交α欧美精品图片| 日韩一二三区| 夜夜嗨一区二区三区| 久久久久久亚洲综合影院红桃| 91久久精品网| 日韩视频免费中文字幕| 亚洲伊人久久大香线蕉av| 中文字幕乱码一区二区三区 | 91成人国产在线观看| 美女被啪啪一区二区| 久久久久久久久久福利| 香蕉视频在线看| 超碰97久久| 日本成人中文字幕在线视频| 国产精品久久久久7777按摩| 日韩欧美高清dvd碟片| 欧美洲成人男女午夜视频| 亚洲精品一区二区三区蜜桃久| 中文字幕欧美三区| 老司机午夜精品| 亚洲男同性视频| 亚洲精品一区二区三区99| 精品高清一区二区三区| 日韩电影第一页| 国产一区私人高清影院| 国产美女在线一区| yw在线观看| 日韩黄色av| 日本vs亚洲vs韩国一区三区二区 | 三级欧美日韩| 久久久久国内| 一区二区三区精品视频在线| 久久久久国产免费免费| 欧洲亚洲精品在线| 国内免费久久久久久久久久久| 亚洲精品在线观看免费| 成视频在线免费观看| 欧美亚洲综合视频| 新狼窝色av性久久久久久| 亚洲精品中文字幕在线观看| 一区二区三区www| 六十路精品视频| 黄网站app在线观看下载视频大全官网 | 日本一区二区三区dvd视频在线| 欧美一区二区在线观看| 日本久久亚洲电影| 成人性免费视频| 性欧美videos高清hd4k| 91av精品| 中文子幕无线码一区tr| 在线成人免费网站| 欧美中日韩一区二区三区| 亚洲精华国产精华| 亚洲综合色婷婷在线观看| 国产福利精品导航| 欧美大片免费久久精品三p| **亚洲第一综合导航网站| 自拍偷拍精选| gogo大尺度成人免费视频| 国产一区二区在线看| 日韩一级片在线观看| 3d蒂法精品啪啪一区二区免费| 含羞草激情视频| 91国内精品| 91偷拍与自偷拍精品| 亚洲精品国产品国语在线| 欧美日韩一区二区三区在线视频 | 欧美一区二区久久久| 精品综合久久久久久97| 欧美日韩亚洲在线| 男人av在线| 国产日产精品_国产精品毛片| 久久综合久久综合亚洲| 亚洲男人天堂网站| 好看的日韩精品视频在线| 在线视频三级| 久久爱www成人| 国产精品毛片a∨一区二区三区| 久久精品国产亚洲精品2020| av免费在线一区| 伊人成综合网| 亚洲欧美日韩久久| 欧美精品xxx| 18禁网站免费无遮挡无码中文| av中文字幕电影在线看| 欧美日韩成人| 午夜欧美在线一二页| 欧美一级高清免费| 欧美成人黄色网址| 日韩在线成人| 久久免费美女视频| 久久精品99国产精品酒店日本| 中国女人做爰视频| 91桃色在线观看| 毛片av一区二区| 亚洲成人三级在线| 先锋影音亚洲资源| 国产精品69xx| 欧美aaaaa成人免费观看视频| 精品久久一二三区| 亚洲国产精品久久久久久女王| 1区2区3区在线视频| 亚洲制服av|