ansilbe 入門001 ansible的介紹

2021-09-07 06:27:21 字數 2312 閱讀 4202

概述:

ansible 作為乙個配置管理工具、首先我們要「告訴」它管理的是那幾台機器啊;而這個資訊就在要ansible 的配置檔案中體現了。預設情況下ansible的配置檔案儲存在

/etc/ansible/目錄下、主機相關的資訊就在/etc/ansible/hosts檔案中。

/etc/ansible/hosts檔案的說明:

深入的想一下、ansible這個配置檔案要解決什麼問題呢?要管理一台機器首先總要能連線上去吧、所以首先要解決的是通過怎麼樣的方式連線上目標機器;

1、目標機器的ip 是多少,這個由ansilbe_ssh_host引數確定。

2、目標機器的埠是多少,這個上由ansible_ssh_port引數確定。

3、用於連線目標機器的使用者名稱是多少,這個由ansible_ssh_user引數確定。(就個使用者是目標機器上的乙個使用者,ansible 內部也只是用ssh去連線遠端的)

4、用於連線目標機器的密碼是多少,這個上由ansible_ssh_pass引數確定。

5、最後為每一台目標機器設定乙個標誌符、通常寫在行首。

通常hosts檔案會以如下形式來描述一台目標機器

mysql_db_001    ansible_connection=ssh  ansible_ssh_host=192.168.80.137 ansible_ssh_port=22     ansible_ssh_user=test   ansible_ssh_pass=131417

只有一台機器這樣定義沒事,但是如果機器多了;就會引出乙個新的問題」物以類聚人以群分「啊!如果可以分組會有什麼好處呢?想想啊、如果有一天你想為所有的

(100臺)mysql 資料庫做乙個備份;那麼你有大概有兩種方式可以完成這個操作,第一種:你傳遞給ansible 100個引數每乙個引數代表乙個資料庫,要麼你就執行100次重複的操作。第二種方式是你事先把主機分組,在這個例子中你可以有這100個資料庫所在機器合併到乙個組中,在下命令的時候只要傳遞乙個組名就可以了。這個就好比小學的時候老師說第二組的同學留下來搞衛生,那麼他就不用乙個乙個去點名了。光說不練,那個叫什麼來的?明顯我不是這種人啊!!!

[mysql_db]

mysql_db_001 ansible_connection=ssh ansible_ssh_host=192.168.80.137 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass=131417

mysql_db_002 ansible_connection=ssh ansible_ssh_host=192.168.80.138 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass=131417

mysql_db_003 ansible_connection=ssh ansible_ssh_host=192.168.80.139 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass=131417

上面的[mysql_db]定義的就是組名了,簡單吧。然而生活不總是這麼單純的,比如我就應該被分到暖男組,帥哥組,單身狗組。同樣一台機器也有可能有多種職責,比如它

上面有mysql ,redis,httpd尋麼它也可能被分配到多個組中去。

[mysql_db]

mysql_db_001 ansible_connection=ssh ansible_ssh_host=192.168.80.137 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass=131417

mysql_db_002 ansible_connection=ssh ansible_ssh_host=192.168.80.138 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass=131417

mysql_db_003 ansible_connection=ssh ansible_ssh_host=192.168.80.139 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass=131417

[redis_db]

redis_db_001 ansible_connection=ssh ansible_ssh_host=192.168.80.139 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass=131417

QT入門簡介(001)

1,c 是一門通用的標準程式語言 qt是一套應用程式開發類庫。2,與mfc不同,qt是跨平台的開發類庫。qt支援pc和伺服器的平台,包括windows,linux,macos等,還支援移動和嵌入式作業系統,如ios,embedded linux,android,winrt等。3,qt已經在各行各業得...

001c 入門程式

以前語言基礎不牢固 導致很多時候學習後續內容很吃力。物件 物件具有狀態和行為,是乙個具體的東西 類 類可以定義描述物件行為狀態的模板,是乙個抽象的概念 方法 即時變數 話不多上上程式 include 包含c 的標頭檔案 using namespace std 使用命名空間 std 標準的命名空間 在...

PyQt筆記001 入門小視窗

第乙個視窗 import sys from pyqt5 import qtwidgets label qtwidgets.qlabel hell world qt支援html標籤,強大吧 有了例項,就需要用show 讓他顯示 label.show 第二個視窗 from pyqt5 import qt...