導讀 | Ansible 被設計為實際工作中的最簡化的部署工具。這意味著它不是一個完整的程式語言。你需要編寫定義任務的 YAML 模板,並列出任何需要自動完成的任務。 |
大多數人認為 Ansible 是一種更強大的“處於 for 循環中的 SSH”,在簡單的使用場景下這是真的。但其實 Ansible 是任務,不是 SSH。在許多情況下,我們透過 SSH 進行連接,但它也支援 Windows 機器上的 Windows 遠端管理(WinRM),以及作為雲端服務的通用語言的 HTTPS API 之類的東西。
在雲端中,Ansible 可以在兩個獨立的層面上操作:控制面和實例資源。控制面由所有沒有運行在作業系統上的東西組成。包括設定網路、新實例、供應更高層級的服務,如亞馬遜的 S3 或 DynamoDB,以及保持雲端基礎設施安全和服務客戶所需的一切。
實例上的工作是你已經知道 Ansible 可以做的:啟動和停止服務、設定檔模版化、安裝軟體包以及透過 SSH 執行的所有與作業系統相關的操作。
現在,什麼是無服務呢?這要看你問誰,無服務要么是對公有雲的無限延伸,或者是一個全新的範例,其中所有的東西都是 API 調用,以前從來沒有這樣做過。
Ansible 採取第一種觀點。在 「無服務」 是專門術語之前,使用者必須管理和配置 EC2 執行個體、虛擬私有雲 (VPC) 網路以及其他所有內容。無服務是託管服務方向邁出的另一步,並且與 Ansible 的無代理體系結構相得益彰。
在我們開始 Lambda 範例之前,讓我們先來看看一個簡單的設定 CloudFormation 堆疊任務:
- name: Build network cloudformation: stack_name: prod-vpc state: present template: base_vpc.yml
編寫這樣的任務只需要幾分鐘,但它是建立基礎架構所涉及的最後的半手動步驟 - 點擊 “Create Stack” - 這將 playbook 與其他放在一起。現在你的 VPC 只是在建立新區域時可以呼叫的另一項任務了。
由於雲端提供者是你帳戶中發生些什麼的真相來源,因此 Ansible 有許多方法來取回並使用 ID、名稱和其他參數來過濾和查詢運行的實例或網路。以 cloudformation_facts 模組為例,我們可以從我們剛剛建立的範本中得到子網路 ID、網路範圍和其他資料。
- name: Pull all new resources back in as a variable cloudformation_facts: stack_name: prod-vpc register: network_stack
對於無服務應用,除了 DynamoDB 表,S3 bucket 和其他任何其他功能之外,你肯定還需要一個 Lambda 函數的補充。幸運的是,透過使用 lambda 模組, Lambda 函數可以以上次任務的堆疊相同的方式建立:
- lambda: name: sendReportMail zip_file: "{{ deployment_package }}" runtime: python3.6 handler: report.send memory_size: 1024 role: "{{ iam_exec_role }}" register: new_function
如果你有其他想用來交付無服務應用程式的工具,這也是可以的。開源的無服務框架有自己的 Ansible 模組,它也可以運作:
- serverless: service_path: '{{ project_dir }}' stage: dev register: sls - name: Serverless uses CloudFormation under the hood, so you can easily pull info back into Ansible cloudformation_facts: stack_name: "{{ sls.service_name }}" register: sls_facts
這不是你需要的全部,因為無服務項目也必須存在,你將在那裡大量的定義你的函數和事件來源。對於此例,我們將製作一個回應 HTTP 請求的函數。無服務框架使用 YAML 作為其設定語言(和 Ansible 一樣),所以這應該看起來很熟悉。
# serverless.yml service: fakeservice provider: name: aws runtime: python3.6 functions: main: handler: test_function.handler events: - http: path: / method: get
在 AnsibleFest 中,我將介紹這個範例和其他深入的部署策略,以最大限度地利用你已經擁有的 playbook 和基礎設施,還有新的無服務實踐。無論你是否能到,我希望這些例子可以讓你開始使用 Ansible,無論你是否有任何服務要管理。
AnsibleFest 是一個單日會議,匯集了數百名 Ansible 用戶、開發人員和行業合作夥伴。加入我們吧,這裡有產品更新、鼓舞人心的交談、技術深度潛水,動手演示和整天的網絡。
以上是使用 Ansible 自動化部署無服務應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux和Windows在用戶認證方面的主要差異在於:Linux使用PAM模塊,而Windows依賴於ActiveDirectory和本地安全策略。 1.Linux通過PAM提供靈活的認證配置,如密碼、指紋等。 2.Windows通過ActiveDirectory實現集中管理和企業網絡集成。

本指南向您展示瞭如何使用QEMU模擬器在Linux環境中建立免費和開源DOS兼容操作系統。 這使您可以在現代硬件上運行Legacy DOS軟件和遊戲,而無需分開

Linux Mint,这款以简洁、稳定和易用性著称的操作系统,广受用户欢迎,尤其适合新手。 它默认使用Cinnamon桌面环境,提供简洁友好的用户界面。但如果您偏好不同的外观或需要更多自定义选项,可以安装其他桌面环境,例如KDE Plasma。 KDE Plasma是一个功能丰富、高度可定制且视觉效果出色的桌面环境,提供现代时尚的用户体验。它拥有广泛的自定义选项、高级窗口管理功能和精致的美感,非常适合希望更好地掌控桌面体验的用户。 本指南将逐步指导您在Linux Mint 22上安装KDE Pl

Linux系統性能優化:降低RAM和CPU使用率 Linux系統功能強大且高效,但高RAM和CPU使用率會降低性能,減慢應用程序速度,甚至導致服務器、工作站或嵌入式系統崩潰。因此,優化資源使用對於系統平穩運行至關重要。 本指南將探討降低Linux系統RAM和CPU使用率的實用方法,涵蓋監控工具、進程管理、內核調整和系統優化技術,幫助您保持系統高效運行。 識別資源密集型進程 降低RAM和CPU使用率的第一步是識別哪些進程消耗了最多的資源。為此,可以使用以下幾個命令行工具: a. 使用top

AlmaLinux 8 和 9 的單用戶模式 (也稱為救援模式) 指南 單用戶模式是一個精簡的 Linux 環境,允許系統管理員執行維護任務、排查問題和從系統故障中恢復。當您需要重置 root 密碼、修復配置錯誤、修復損壞的文件系統或調查阻止正常啟動的系統錯誤時,單用戶模式特別有用。 作為基於 RHEL 的發行版,AlmaLinux 8 和 9 通過 GRUB 引導加載程序提供了一種簡單的進入單用戶模式的方法。本指南將逐步解釋如何在 AlmaLinux 8 和 9 上進入單用戶模式。 什麼是單用

Linux系统以其强大和可靠性著称,但即使是经验丰富的用户也会遇到意想不到的问题。无论是意外删除的文件、忘记的root密码,还是系统运行缓慢,高效的故障排除技巧是成为Linux专家的关键。 本指南将介绍一些常见的Linux问题解决场景以及逐步解决方案,这些问题在系统管理员、开发人员和日常Linux用户中普遍存在。 场景一:意外删除重要文件 您意外地使用rm命令删除了一个重要文件,现在需要恢复它。与Windows和macOS不同,Linux没有内置的“回收站”来存储从终端删除的文件。 恢复选项取决

Docker 是一款強大的工具,允許您在稱為 容器 的隔離環境中運行應用程序。但是,有時您可能需要更改 Docker 文件夾的權限,以確保您的應用程序可以訪問必要的文 件和目錄。 本文將指導您完成在 Linux 系統上永久更改 Docker 文件夾權限的過程。 了解 Docker 文件夾權限 默認情況下,Docker 將其數據(包括鏡像、容器和卷)存儲在 Linux 系統上的特定目錄中。最常見的目錄是 /var/lib/docker。 這些文件夾的權限決定了誰可以讀取、寫入或執行其中的文件。如果

用Linux上的Portainer CE簡化Docker Management:逐步指南 通過命令行管理Docker容器可能令人生畏,尤其是對於新移民而言。 Portainer CE(社區版)提供免費,輕巧且直觀的Solutio


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

禪工作室 13.0.1
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能