成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊一聊Ansible自動化運維架構

開發 開發工具
Ansible 工具由供應服務器應用程序 Cobbler 的作者 Michael DeHaan 開發,他是 Fedora 統一網絡控制器(Func)遠程管理框架的共同作者。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

一、ANSIBLE介紹

1、什么是ansible

ansible是一個自動化運維工具,基于Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。

2、ansible的歷史

Ansible 工具由供應服務器應用程序 Cobbler 的作者 Michael DeHaan 開發,他是 Fedora 統一網絡控制器(Func)遠程管理框架的共同作者。

紅帽于 2015 年 10 月收購了 Ansible。

Ansible 是 Red Hat 旗下的 Fedora Linux 發行版的一部分,也可以通過 Extra Linux for Enterprise Linux(EPEL)以及其他操作系統用于 Red Hat Enterprise Linux,CentOS,Scientific Linux 和 Oracle Linux。

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

3、Ansible有很多重要的優勢:

  • 跨平臺支持:Ansible為物理、虛擬、云和容器環境中的Linux、Windows、UNIX和網絡設備提供無代理支持。
  • 人類可讀的自動化:Ansible Playbooks以YAML文本文件的形式編寫,易于閱讀,并有助于確保每個人都理解他們將做什么。
  • 應用程序的完美描述:Ansible Playbooks可以做出每一個更改,應用程序環境的每一個方面都可以描述和記錄。
  • 易于管理的版本控制:Ansible Playbooks和項目是純文本。 它們可以像源代碼一樣處理,并放在現有的版本控制系統中。
  • 支持動態清單:Ansible管理的機器列表可以從外部來源動態更新,以便隨時獲取所有被管理服務器的正確的當前列表,無論基礎設施或位置如何。
  • 可與其他系統輕松集成的編排:HP SA、Puppet、Jenkins、Red Hat 衛星和其他存在于您環境中的系統可以被利用和集成到您的Ansible工作流程中。

4、ansible工作原理

二、安裝ansible

1、關閉防火墻

setenforce 0
systemctl stop firewalld

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

2、修改主機名

hostname ansible  /client

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

3、修改映射文件

vim /etc/hosts

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

4、下載epel-release軟件包

yum -y install epel-release

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

5、安裝ansible

yum -y install ansible

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

6、創建SSH面交互登錄

(1)發送密鑰需要passwd和yes。

ssh-keygen -t rsa

服務端:

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

客戶端:

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

復制密鑰到其他機器:

ssh-copy-id 192.168.253.128

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

復制密鑰時忽略passwd和yes(一鍵復制)。

sshpass -p passwd ssh -p 用戶名@主機IP -o StrictHostKeyChecking=no

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

三、使用ansible

1、寫inventory(相當于/etc/ansible/hosts)

里面就是主機的localhost或者ip:

vim inventory
web1.example.com
web2.example.com
db1.example.com
db2.example.com
192.0.2.42

2、寫ansible.cfg

vim ansible.cfg
[defaults]
inventory = ./inventory
remote_user = user
ask_pass = false
[privilege_escalation]
become = true
become_method = sudo
become_user = root
become_ask_pass = false

指令

描述

inventory

指定目錄文件的路徑。

remote_user

在被管理主機上登錄的用戶名。如果未指定,使用當前用戶名。

ask_pass

是否提示SSHpasswd??梢匀绻褂肧SH公鑰認證,則為false。

become

是否自動切換被管用戶連接后的主機(通常到root)。這也可以是戲劇指定的:戲劇指定的。

become_method

如何切換用戶(通常是sudo,這是默認的,但是su是一個選項)。

become_user

在托管主機上切換到的用戶(通常是Root,這是默認值)。

become_ask_pass

是否提示為你的become_method輸入passwd。 默認值為false。

[defaults]

設置Ansible操作的默認值

[privilege_escalation]

配置Ansible對managed的權限升級方式主機

優先級最高的,還是自己創建的ansible.cfg

3、ansible的adhoc

ansible all -m ping

在ansible外面直接執行模塊。

注:

Ansible的返回結果非常友好,一般會用三種顏色來表示執行結果:紅色,綠色和橘黃色。

①其中紅色表示執行過程中有異常。

②橘黃色表示命令執行后目標有狀態變化。

③綠色表示執行成功且沒存對目標機器做修改。

參數的含義:

  • -v(–verbose):輸出詳細的執行過程信息,可以得到執行過程所有信息。
  • -i PATH(–inventory=PATH):指定inventory信息,默認為/etc/ansible/hosts。
  • -f NUM(–forks=NUM):并發線程數,默認為5個線程。
  • –private-key=PRIVATE_KEY_FILE指定秘鑰文件,(不經常使用)。
  • -m NAME,–moudle-name=NAME:指定執行時使用的模塊。
  • -M DIRECTORY (–module-path=DIRECTORY):指定模塊存放路徑,默認為/usr/share/ansible,也可以通過ANSIBLE_LIBRARY設定默認目錄。(不經常使用)。
  • -a ARGUMENTS ( --args=ARGUMENTS):指定模塊參數。
  • -u USERNAME (–user=USERNAME);指定遠程主機 USERNAME運行命令。
  • -l subset (–limit=SUBSET):限定運行主機。
  • –list-hosts:列出符合條件的主機列表,不執行任何命令。

4、Ansible 基礎模塊

模塊類別

模塊

文件模塊

? copy: Copy a local file to the managed host-

軟件包模塊

? yum: Manage packages using the YUM package manager

系統模塊

? firewalld: Manage arbitrary ports and services using firewalld

Net Tools模塊

? get_url: Download files over HTTP, HTTPS, or FTP

5、ansible-doc

ansible-doc用來查詢ansible模塊文檔的說明(幫助文檔),類似于man命令。

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

(1)列出支持的模塊。

ansible-doc -l

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

ansible-doc -s command

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

ansible-doc -s raw

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

ansible-doc -s ping

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

6、ansible-playbook

Ansible-playbook是日常應用中使用頻率最高的命令,類似于Linux系統中的sh或source命令,用來執行系列任務,其工作機制是,通過讀取編寫好的 playbook文件實現集中處理任務,ansible-playbook命令后跟yml或者yaml格式的playbook文件,playbook文件存放了要執行的任務代碼。

playbook核心元素

  • Hosts:執行的遠程主機列表。
  • Tasks:任務集。
  • Varniables: 內置變量或自定義變量在playbook中調用。
  • Templates:模板,可替換模板文件中的變量并實現一些簡單邏輯的文件。
  • Handlers 和 notity 結合使用,由特定條件觸發的操作,滿足條件才執行,否則不執行。
  • Tags:標簽 指定某條任務執行,用于選擇運行playbook中的部分代碼,ansible具有冪等性,因此會自動跳過沒有變化的部分,即便如此,有些代碼為測試其確實沒有發生變化的時間依然會非常地長,此時,如果確信其沒有變化,就可以通過tags跳過此些代碼片段。
語法: ansible-playbook playbook.yml

檢查語法是否錯誤。

ansible-playbook --syntax-check webserver.yml

7、ansible-console虛擬終端

ansible-console是 ansible為用戶提供的一款交互式工具,類似于 Windows中的cmd以及Linux中的shell,用戶可以在 ansible-console虛擬出來的終端上做像shell一樣使用ansible內置的各種命令,這為習慣于使用 shell交互方式的用戶提供了良好的體驗,在終端輸入ansible-console命令后顯示如下。

#物聯網征文#ansible自動化運維架構-開源基礎軟件社區

所有的操作類似于shell,而且支持Tab鍵補全,按快捷鍵Ctrl+D或Ctrl+C即可退出當前虛擬終端。

8、 ansible-galaxy

ansible-galaxy指令用于方便的從https://galaxy.ansible.com/站點下載第三方擴展模塊。

創建rolrs目錄架構:

ansible galaxy init 目錄

9、 ansible-vault

ansible-vault主要應用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以幫你加密/解密這個配置文件,屬高級用法。主要對于playbooks里比如涉及到配置passwd或其他變量時,可以通過該指令加密,這樣我們通過cat看到的會是一個passwd串類的文件,編輯的時候需要輸入事先設定的passwd才能打開。這種playbook文件在執行時,需要加上 --ask-vault-pass參數,同樣需要輸入passwd后才能正常執行。

10、 ansible-pull

該指令使用需要談到ansible的另一種模式---pull 模式,這和我們平常經常用的push模式剛好相反,其適用于以下場景:你有數量巨大的機器需要配置,即使使用非常高的線程還是要花費很多時間;你要在一個沒有網絡連接的機器上運行Anisble,比如在啟動之后安裝。

四、一些常見的命令

輸出facts變量的內容:

ansible 主機 -m setup

創建加密變量文件:

ansible-vault create secret.yml

查看加密變量文件:

ansible-vault view secret1.yml

編輯加密變量文件:

ansible-vault edit secret.yml

可以使文件加密:

ansible-vault encrypt secret1.yml secret2.yml

解密變量文件:

ansible-vault decrypt secret1.yml --output=secret1-decrypted.yml

更改加密文件的passwd:

ansible-vault rekey secret.yml

執行加密變量文件:

ansible-playbook --vault-id @prompt site.yml

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-05-31 07:55:23

智能運維模型

2018-04-25 09:01:02

2014-09-22 11:24:18

運維

2015-10-08 10:55:23

云服務自動化運維 ANSIBLE

2017-03-22 16:31:30

Linux運維自動化ansible

2020-12-11 10:20:33

Ansible運維軟件包

2021-01-01 09:01:05

前端組件化設計

2020-04-30 15:00:17

運維Ansible自動化

2018-07-26 13:50:37

IT架構運維

2017-03-22 18:30:44

Linux運維自動化ansible

2015-06-24 10:42:19

云計算運維自動化運維ANSIBLE

2012-10-22 14:54:48

2022-08-30 10:15:27

Kubernetes數據持久化管理

2017-12-26 14:56:44

虛擬化基礎知識

2015-03-09 11:10:14

運維

2014-08-04 10:10:35

IT運維自動化運維

2023-09-22 17:36:37

2021-01-28 22:31:33

分組密碼算法

2020-05-22 08:16:07

PONGPONXG-PON

2018-06-07 13:17:12

契約測試單元測試API測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久久 | 欧美激情一区二区 | 成人做爰999 | 视频在线一区二区 | 中文字幕一区二区三区在线乱码 | 国产精品久久久久久久久久三级 | 国产亚洲一区在线 | 国产日韩欧美在线 | 亚洲综合国产 | 三级在线视频 | 亚洲91| 国产一区二区在线91 | 久久成人精品视频 | 久久国产精品视频 | 尤物视频在线免费观看 | 欧美日韩一区二区三区四区 | 国产伦精品一区二区三区四区视频 | 天天干天天干 | 精品三级| 毛片一区二区 | 亚洲精品视频二区 | 午夜精品久久久久久久星辰影院 | 九九九久久国产免费 | 欧美日韩国产精品一区 | 青娱乐一区二区 | 国产亚洲精品精品国产亚洲综合 | 国产三级国产精品 | 99亚洲国产精品 | 精品麻豆剧传媒av国产九九九 | 精品无码三级在线观看视频 | 美女爽到呻吟久久久久 | 一区二区三区福利视频 | 亚洲一区二区在线 | 亚洲一区二区三区在线播放 | 久久久久久久久久一区 | 精品久久久久久亚洲综合网 | 日韩一级黄色毛片 | 国产95在线 | 尤物在线 | 亚洲国产成人精 | 久久久影院 |