ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DevOps:5大工具

2021-08-03 14:02:27  阅读:224  来源: 互联网

标签:容器 Kubernetes DevOps Terraform Ansible 工具 Docker


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

动手实战学 Docker_Docker - 实验楼​www.shiyanlou.com/courses/498

2825 人学过、511 人关注!通过 14 个实验带你体验 Docker 魅力。最快的上手教程,最新的技术领域,最多的动手实践,帮助你在线学习Docker ,DockerFile ,Compose ,Swarm 等技术。

Kubernetes 入门与实战

Kubernetes 入门与实战​www.shiyanlou.com/courses/1207

本课程介绍了 Kubernetes 的核心概念和资源类型,并借助实际的实验操作来掌握它们,进而帮助我们去思考这些设计的意义以及它们所应用的业务场景。主要内容包括:Kubernetes 基础概念以及使用方式、单例应用 Pod、访问应用 Service 等。

基于 Ansible + Celery 的运维开发平台

基于 Ansible + Celery 的运维开发平台​www.shiyanlou.com/courses/1380

为大家提供一种管理服务器在 1000 台以内的自动化运维方案,主要实现自动化运维方案里的集中化管理的核心部分;可以为运维工作的同学提供一种解决日常工作中批量处理服务器维护性工作的方案,为从事自动化运维开发的同学提供一种自动化运维的实现思路。

标签:容器,Kubernetes,DevOps,Terraform,Ansible,工具,Docker
来源: https://blog.csdn.net/zzddada/article/details/119348532

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有