5 大 DevOps 工具,看看你用过几个?
傳統開發和運維之間存在著難以調和的矛盾:開發希望盡快地創建更多新功能,滿足客戶需求,這是他們的本職工作;但對運維來說,新功能意味著變化,變化意味著不穩定,這又和自己的工作背道而馳。
這種矛盾會導致大量的資源和時間的浪費,所以,?DevOps 誕生了。DevOps 的理念就是希望能打破這種屏障,讓研發(Development)和運維(Operations)一體化,讓團隊從業務需求出發,向著同一個目標前進。
隨著容器、Kubernetes 等云原生技術的落地,DevOps 工程師越發成為一個熱門工種。今天我們就來介紹 5 種好用的 DevOps 工具,讓你的工作事半功倍!
正文:
DevOps 的概念在軟件開發行業中逐漸流行起來。越來越多的團隊希望實現產品的敏捷開發,DevOps 使一切成為可能。有了?DevOps ,團隊可以定期發布代碼、自動化部署管道、并將持續集成 / 持續交付作為發布過程的一部分。
雖然 DevOps 背后有各種各樣的概念,但幸好有一些工具可以讓你更容易地理解和實現這些它。在本文中,你將了解這些工具,最好能將它們作為軟件發布 / 維護工具包工作的一部分開始使用。
DevOps 有很多可使用的工具,在一篇文章中幾乎不可能介紹完它們。本文將介紹五種最流行、功能最強大的 DevOps 工具:
Terraform
Ansible
Packer
Docker
Kubernetes
Terraform
類型:配置
語言:?Go
推薦的第一個 DevOps 工具是來自 Hashicorp 的 Terraform。Terraform 是一個基礎設施管理工具,允許您正確地構建、更改和管理基礎設施。您可以將 Terraform 視為一種供應工具。它幫助您設置服務器、數據庫和其他支持全面應用程序的基礎設施。
Terraform 并不局限于任何特定的云服務提供商,它可以與多個云提供商和環境協同工作。云服務提供商如 AWS、Microsoft Azure、谷歌云都與 Terraform 無縫集成。版本控制系統托管提供商,如 Github 和 Bitbucket,都可以很好地使用它。
Terraform 有一個企業版和開源版,還可以安裝在 macOS、Linux 和 Windows 系統上。
Ansible
類型:配置
語言:Python、PowerShell、Shell 和 Ruby
與 Terraform 類似,Ansible 也是一個基礎設施管理工具。Ansible 可以幫助你部署應用程序,供應和配置管理的服務器。Ansible 是用 Python 構建的,由 RedHat 維護,但它仍然是免費和開源的。
作為一個配置管理系統,您可以使用 Ansible 來設置和構建多個服務器。你可以在控制機器上安裝 Ansible,而不需要 Ansible 在其他服務器上運行,這些服務器可以從 web 到應用程序再到數據庫服務器。
與 Terraform 不同,Ansible 不使用 HCL 作為它的代碼。相反,配置是寫在 Ansible 劇本,這是 YAML 文件。Ansible 使用聲明性和程序性模式的混合。這與 Terraform 不同,后者僅僅是聲明性的。
Linux 是安裝 Ansible 最合適的操作系統。不過,它在 macOS 上也運行良好。對于 Windows 用戶,可以通過 Linux 的 Windows 子系統的 bash shell 使用 Ansible。
Packer
類型:配置
語言:?Go
Packer 是另一個來自 Hashicorp 的 DevOps 工具。用 Golang 編寫的 Packer 可以幫助你自動創建虛擬鏡像。手動構建鏡像的過程可能令人沮喪,因為它容易出錯,但 Packer 消除了所有這些。
對于單個 JSON 文件,可以使用 Packer 創建多個鏡像。當它第一次工作時,由于沒有任何東西會干擾它的自動化過程,因此可以保證它能百分百地工作。許多云服務提供商都使用鏡像,您可以無縫地與這些提供商合作,因為 Packer 標準化了用于云環境的鏡像的創建。
Packer 不是一個獨立的工具。您可以將其與 Ansible、Chef 和 Jenkins 集成,以便在部署管道中進一步使用這些映像。安裝過程并不復雜,您可以學習如何開始使用該工具。
Docker
類型:容器
語言: Go
Docker 是一種容器技術,可讓您在特殊環境中隔離應用程序。容器化與虛擬化類似,不同之處在于容器不會啟動完整的操作系統。
使用 Docker 容器,您可以在這些自定義環境中開發和部署應用程序,從而不必擔心兼容性問題。您的應用程序可以在任何位置運行,只要它們位于容器中即可。
要啟動 Docker 容器,您必須通過 Dockerfiles 創建 Docker 映像。從 Docker 映像啟動時,Dockerfile 包含 Docker 容器中所需的規范。您不必總是構建自己的 Docker 映像,因為 Docker Hub 上可以使用官方映像。
Docker 本身可以在 Linux 上運行,并且在 macOS 上也可以正常運行,因為它類似于 Unix。對于 Windows 用戶,也可以通過Docker 工具箱來使用 Docker。
通常情況下,你可能會使用多個 Docker 容器,這就引出了本文中的最后一個 DevOps 工具。
Kubernetes
類型:容器
寫于: Go
Kubernetes (K8s) 是一個谷歌開源工具,它可以讓你管理 Docker 容器。由于在生產中經常有大量的容器在運行,因此,Kubernetes 使編排這些容器成為可能。
首先要了解編排 Docker 容器的原因。當有許多容器在運行時,很難手動監視這些容器,并使它們彼此通信;另外,這種擴展以及負載平衡也變得困難。
使用 Kubernetes,可以控制所有這些容器,因此可以將這組機器作為一臺機器進行管理。與 Docker Compose 相比,Kubernetes 是不同的,因為它使部署,擴展和監視容器變得更加容易。當它們中的任何一個崩潰時,它們都可以自愈,而 Kubernetes 可以制造新的來代替。使用 K8s,可以輕松地進行存儲編排、服務發現和負載平衡。
您可以在 macOS,Linux 和 Windows 上安裝 Kubernetes,并通過Kubernetes 命令行工具使用它。
結論:
DevOps 的概念對于使大型應用程序在不同負載或流量下保持高性能是非常有益的。它還使軟件部署管道易于管理。
如果沒有可用的工具,DevOps 概念很難實現。這個領域有很多工具,每個公司都有不同的選擇。盡管如此,Terraform、Ansible、Packer、Docker、Kubernetes 都是擁有大量用戶社區的工具,能夠在各種軟件項目中實現 DevOps 的工具。如果您打算使用它們,可以做進一步的研究。
作者:DashMagazine
出處:https://codeburst.io/5-devops-tools-to-use-e99b79795c9d
翻譯:實驗樓
今日推薦:
動手實戰學 Docker
2825 人學過、511 人關注!通過?14 個實驗帶你體驗 Docker 魅力。最快的上手教程,最新的技術領域,最多的動手實踐,幫助你在線學習Docker ,DockerFile ,Compose ,Swarm 等技術。
課程地址:https://www.shiyanlou.com/courses/498
Kubernetes 入門與實戰
本課程介紹了 Kubernetes 的核心概念和資源類型,并借助實際的實驗操作來掌握它們,進而幫助我們去思考這些設計的意義以及它們所應用的業務場景。主要內容包括:Kubernetes 基礎概念以及使用方式、單例應用 Pod、訪問應用 Service 等。
課程地址:https://www.shiyanlou.com/courses/1207
基于 Ansible + Celery 的運維開發平臺
為大家提供一種管理服務器在 1000 臺以內的自動化運維方案,主要實現自動化運維方案里的集中化管理的核心部分;可以為運維工作的同學提供一種解決日常工作中批量處理服務器維護性工作的方案,為從事自動化運維開發的同學提供一種自動化運維的實現思路。
課程地址:https://www.shiyanlou.com/courses/1380
點擊閱讀原文,查看更多課程~
總結
以上是生活随笔為你收集整理的5 大 DevOps 工具,看看你用过几个?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3dmaxobj导出选项_3dmax将模
- 下一篇: xp计算机无法关机,xp系统不能关机解决