日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:52010
  • 待審:67
  • 小程序:12
  • 文章:1106242
  • 會員:784

歡迎來到“50 天 50 個 devops 工具”系列的第 30 天!今天,我們將探索 ansible,它是 devops 工具包中最重要的工具之一。本博客將向您介紹 ansible 的基礎知識,分解其關鍵組件并向您展示如何從簡單的示例開始。我們會讓事情簡單明了,使其成為初學者的完美起點。

什么是 ansible?

ansible 是一種開源自動化工具,可以簡化配置管理、應用程序部署和編排等任務。它的設計簡單但功能強大,可讓您自動執行重復性任務并更有效地管理您的基礎設施。

主要特點:

無代理: ansible 不需要在遠程系統上安裝任何代理,這減少了開銷。
人類可讀的 yaml playbooks: ansible 使用 yaml(另一種標記語言)來編寫 playbook,易于閱讀和編寫。
冪等: 您可以多次運行同一個劇本,而不必擔心意外的更改。

為什么使用 ansible?

無代理架構: 由于 ansible 是無代理的,因此無需在客戶端系統上安裝任何額外的軟件,從而減少開銷和潛在的安全風險。

簡單的語法: ansible 使用 yaml 作為它的 playbook,它易于閱讀和編寫,甚至對于那些剛接觸自動化的人來說也很容易理解。

冪等性: ansible 確保無論當前狀態如何都能達到所需的狀態。這意味著多次運行劇本不會導致問題或重復操作。

廣泛的社區支持: 擁有龐大且活躍的社區,ansible 擁有豐富的角色、模塊和劇本,可以重用和定制以滿足您的需求。

可擴展性:無論是管理幾臺服務器還是數千臺服務器,ansible 都可以很好地擴展,使其適合各種規模的組織。

ansible 的核心組件

inventory: 這是 ansible 管理的主機(服務器)列表。庫存可以是靜態的(在文件中定義)或動態的(由腳本生成)。

模塊: 模塊是 ansible 的主力。它們在遠程主機上執行,以執行安裝包、復制文件或管理服務等任務。

playbooks:playbooks 是 ansible 的配置、部署和編排語言。它們是用 yaml 編寫的,描述了一系列要在主機上執行的任務。

角色: 角色允許您將劇本分解為可重用的組件,從而更輕松地管理和組織大型項目。

變量:變量用于存儲可以在整個劇本中重復使用的值。它們提供了靈活性,允許您自定義劇本而無需硬編碼值。

處理程序:處理程序是特殊任務,僅在被其他任務觸發時運行。它們通常用于重新啟動服務之類的事情。

設置 ansible

讓我們從在控制節點上安裝 ansible 開始。安裝過程很簡單,并且根據您的操作系統略有不同。

在 ubuntu/debian 上安裝 ansible

sudo apt update
sudo apt install ansible -y

登錄后復制

在 centos/rhel 上安裝 ansible

sudo yum install epel-release -y
sudo yum install ansible -y

登錄后復制

驗證安裝
安裝后,您可以通過運行以下命令來驗證 ansible 是否已正確安裝:

ansible --version

登錄后復制

編寫你的第一本 ansible 手冊

讓我們創建一個簡單的劇本來在遠程服務器上安裝 nginx。我們將從定義庫存開始。

第1步:創建庫存文件
創建一個名為hosts的文件:

[webservers]
34.42.111.35
34.42.111.66

登錄后復制

此清單文件定義了一個名為 webservers 的組,其中包含兩個服務器。

第 2 步:編寫劇本
接下來,我們將編寫一個劇本來在這些服務器上安裝和啟動 nginx。

創建一個名為 nginx_setup.yml 的文件:

---
- name: install nginx on web servers
  hosts: webservers
  become: yes

  tasks:
    - name: install nginx
      apt:
        name: nginx
        state: present

    - name: start nginx service
      service:
        name: nginx
        state: started
        enabled: true

登錄后復制

了解劇本

名稱: 人類可讀的劇本或任務功能描述。
hosts: 指定應運行 playbook 的主機組(來自清單)。
成為: 表示 ansible 應該使用提升的權限(如 sudo)。
tasks: 列出 ansible 將執行的步驟。在這里,我們正在安裝 nginx 并確保該服務在啟動時啟動并啟用。

第 3 步:運行 playbook
要執行劇本,請運行以下命令:

ansible-playbook -i hosts nginx_setup.yml

登錄后復制

此命令告訴 ansible 在主機清單文件中定義的主機上運行 nginx_setup.yml 中的任務。

現實場景:自動化軟件包安裝

考慮一個場景,您需要在多個服務器上安裝一組包。手動執行此操作非常耗時且容易出錯。使用 ansible,您可以輕松自動化此任務。

這是一個安裝多個軟件包的簡單手冊:

---
- name: install essential packages
  hosts: all
  become: yes

  tasks:
    - name: install packages
      apt:
        name:
          - git
          - curl
          - htop
        state: present

登錄后復制

在此劇本中,ansible 在清單中列出的所有服務器上安裝 git、curl 和 htop。 apt 模塊確保每個包都已安裝。

現實生活示例:簡化用戶管理

想象一下您需要在多個服務器上創建一個新用戶并將它們分配給特定的組。在每臺服務器上手動執行此任務將非常乏味。有了 ansible,一切變得輕而易舉。

具體操作方法如下:

---
- name: Create a new user
  hosts: all
  become: yes

  tasks:
    - name: Create user "devuser"
      user:
        name: devuser
        state: present
        groups: sudo

登錄后復制

此劇本在所有托管服務器上創建一個新用戶 devuser 并將它們添加到 sudo 組。

使用 ansible 的好處

一致性: ansible 確保您的系統配置一致,降低配置漂移的風險。
效率:自動化重復性任務可以騰出時間來處理更重要的工作。
可擴展性:無論是管理少量服務器還是數千臺服務器,ansible 都可以輕松擴展。
靈活性: ansible 的模塊化方法允許您根據需要自定義和擴展其功能。

結論

ansible 是一款功能強大且易于使用的工具,可以極大地簡化基礎設施的管理。只需幾行代碼,您就可以自動執行復雜的任務,確保整個環境的一致性和可靠性。無論您是設置服務器、部署應用程序還是管理配置,ansible 都可以幫助您更高效地完成工作。

明天,我們將深入探討更高級的 ansible 主題,探索可以將您的自動化提升到新水平的功能。敬請期待!

? 請務必在 linkedin 上關注我以獲取最新更新: shiivam agnihotri

分享到:
標簽:CentOS git nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 52010

    網站

  • 12

    小程序

  • 1106242

    文章

  • 784

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定