偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

聊一聊Ansible自動(dòng)化運(yùn)維架構(gòu)

開發(fā) 開發(fā)工具
Ansible 工具由供應(yīng)服務(wù)器應(yīng)用程序 Cobbler 的作者 Michael DeHaan 開發(fā),他是 Fedora 統(tǒng)一網(wǎng)絡(luò)控制器(Func)遠(yuǎn)程管理框架的共同作者。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

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

一、ANSIBLE介紹

1、什么是ansible

ansible是一個(gè)自動(dòng)化運(yùn)維工具,基于Python開發(fā),集合了眾多運(yùn)維工具(puppet、cfengine、chef、func、fabric)的優(yōu)點(diǎn),實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運(yùn)行命令等功能。

2、ansible的歷史

Ansible 工具由供應(yīng)服務(wù)器應(yīng)用程序 Cobbler 的作者 Michael DeHaan 開發(fā),他是 Fedora 統(tǒng)一網(wǎng)絡(luò)控制器(Func)遠(yuǎn)程管理框架的共同作者。

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

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

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

3、Ansible有很多重要的優(yōu)勢(shì):

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

4、ansible工作原理

二、安裝ansible

1、關(guān)閉防火墻

setenforce 0
systemctl stop firewalld

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

2、修改主機(jī)名

hostname ansible  /client

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

3、修改映射文件

vim /etc/hosts

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

4、下載epel-release軟件包

yum -y install epel-release

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

5、安裝ansible

yum -y install ansible

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

6、創(chuàng)建SSH面交互登錄

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

ssh-keygen -t rsa

服務(wù)端:

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

客戶端:

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

復(fù)制密鑰到其他機(jī)器:

ssh-copy-id 192.168.253.128

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

復(fù)制密鑰時(shí)忽略passwd和yes(一鍵復(fù)制)。

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

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

三、使用ansible

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

里面就是主機(jī)的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

在被管理主機(jī)上登錄的用戶名。如果未指定,使用當(dāng)前用戶名。

ask_pass

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

become

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

become_method

如何切換用戶(通常是sudo,這是默認(rèn)的,但是su是一個(gè)選項(xiàng))。

become_user

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

become_ask_pass

是否提示為你的become_method輸入passwd。 默認(rèn)值為false。

[defaults]

設(shè)置Ansible操作的默認(rèn)值

[privilege_escalation]

配置Ansible對(duì)managed的權(quán)限升級(jí)方式主機(jī)

優(yōu)先級(jí)最高的,還是自己創(chuàng)建的ansible.cfg

3、ansible的adhoc

ansible all -m ping

在ansible外面直接執(zhí)行模塊。

注:

Ansible的返回結(jié)果非常友好,一般會(huì)用三種顏色來表示執(zhí)行結(jié)果:紅色,綠色和橘黃色。

①其中紅色表示執(zhí)行過程中有異常。

②橘黃色表示命令執(zhí)行后目標(biāo)有狀態(tài)變化。

③綠色表示執(zhí)行成功且沒存對(duì)目標(biāo)機(jī)器做修改。

參數(shù)的含義:

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

4、Ansible 基礎(chǔ)模塊

模塊類別

模塊

文件模塊

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

軟件包模塊

? yum: Manage packages using the YUM package manager

系統(tǒng)模塊

? 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命令。

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

(1)列出支持的模塊。

ansible-doc -l

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

ansible-doc -s command

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

ansible-doc -s raw

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

ansible-doc -s ping

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

6、ansible-playbook

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

playbook核心元素

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

檢查語法是否錯(cuò)誤。

ansible-playbook --syntax-check webserver.yml

7、ansible-console虛擬終端

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

#物聯(lián)網(wǎng)征文#ansible自動(dòng)化運(yùn)維架構(gòu)-開源基礎(chǔ)軟件社區(qū)

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

8、 ansible-galaxy

ansible-galaxy指令用于方便的從https://galaxy.ansible.com/站點(diǎn)下載第三方擴(kuò)展模塊。

創(chuàng)建rolrs目錄架構(gòu):

ansible galaxy init 目錄

9、 ansible-vault

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

10、 ansible-pull

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

四、一些常見的命令

輸出facts變量的內(nèi)容:

ansible 主機(jī) -m setup

創(chuàng)建加密變量文件:

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

執(zhí)行加密變量文件:

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

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

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

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-05-31 07:55:23

智能運(yùn)維模型

2018-04-25 09:01:02

2014-09-22 11:24:18

運(yùn)維

2017-03-22 16:31:30

Linux運(yùn)維自動(dòng)化ansible

2015-10-08 10:55:23

云服務(wù)自動(dòng)化運(yùn)維 ANSIBLE

2020-12-11 10:20:33

Ansible運(yùn)維軟件包

2021-01-01 09:01:05

前端組件化設(shè)計(jì)

2020-04-30 15:00:17

運(yùn)維Ansible自動(dòng)化

2018-07-26 13:50:37

IT架構(gòu)運(yùn)維

2017-03-22 18:30:44

Linux運(yùn)維自動(dòng)化ansible

2015-06-24 10:42:19

云計(jì)算運(yùn)維自動(dòng)化運(yùn)維ANSIBLE

2012-10-22 14:54:48

2022-08-30 10:15:27

Kubernetes數(shù)據(jù)持久化管理

2017-12-26 14:56:44

虛擬化基礎(chǔ)知識(shí)

2015-03-09 11:10:14

運(yùn)維

2023-09-22 17:36:37

2021-01-28 22:31:33

分組密碼算法

2020-05-22 08:16:07

PONGPONXG-PON

2014-08-04 10:10:35

IT運(yùn)維自動(dòng)化運(yùn)維

2018-06-07 13:17:12

契約測(cè)試單元測(cè)試API測(cè)試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)