1、容器监控基本指南 Kubernetes 监控初学者指南 自 2013 年引入这一概念以来,容器已经成为 IT 世界的热门话题。很容易看到其中原因:应用程序容器技术正在彻底改变应用程序开发,给开发过程带来了以前无法想象的灵活性和效率。各个企业纷纷接纳容器。据 Gartner 称,到 2020 年,超过一半的全球企业将在生产中运行容器化应用程序,而现在这一比例还不到 20%。IDC 预测,到 2021 年,超过 95%的新微服务将部署在容器中。这种大规模采用清楚地表明,组织需要采用基于容器的开发方法来保持竞争力。为此,让我们看看容器化涉及到什么,以及您的组织如何利用它来获得优势。2 3 什么是容器
2、?理解容器概念最简单的方法是考虑它的同名物。物理容器是用来将货物从一个地方存放和运输到另一个地方的容器。软件容器执行类似的功能。它允许您将应用程序的代码、配置文件、库、系统工具和执行该应用程序所需的所有其他东西打包成一个独立的单元,以便您可以在任何地方移动和运行它。此外,容器支持“微服务”方法,将应用程序分解为单功能模块,只有在需要时才能访问。这允许开发人员在 需要更改时修改和重新部署特定的服务,而不是整个应用程序。4 文件,都包含在来宾机器中。每台来宾机器还包括自己的 完整操作系统。例如,运行四个虚拟机的服务器,除了虚拟机管理程序协调它们之外,还会有四个操作系统。这对于一台机器的资源来说是一
3、个很大的需求,事情可能会很快陷入停滞,最终限制了一台服务器可以运行的虚拟机数量。另一方面,容器在操作系统级别是抽象的。单个主机操作系统在主机上运行(可以是物理服务器、虚拟机或云主机),容器(使用像 Docker 引擎这样的容器化引擎)与其他容器共享操作系统的内核,每个容器都有自己独立的用户空间。这里的开销比虚拟机少得多,因此,容器比虚拟机轻得多,资源效率也高得多,从而可以更好地利用服务器资源。为什么容器如此重要?容器解决了 IT 操作中一个非常常见的问题:无论软件部 署在哪里,都可以让软件可靠而一致地运行。当应用程序 从一个计算环境移动到另一个计算环境时,例如从筹划 到生产,如果操作系统、网络
4、拓扑、安全策略或环境的其 他方面不同,它可能会遇到问题。容器将应用程序与其 环境隔离开来,抽象出这些环境差异。在容器出现之前,虚拟机(VM)是在单个服务器上运行许 多独立应用程序的主要方法。像容器一样,虚拟机抽象出 机器的底层基础架构,这样硬件和软件的变化就不会影 响应用程序的性能。但是每台虚拟机如何做到这一点却 有很大的不同。虚拟机抽象硬件,将一台物理服务器转换成几台虚拟服 务器。它是通过在虚拟机管理程序上运行来实现的,虚拟 机管理程序本身运行在一台名为“主机”的物理计算机上。虚拟机管理程序本质上是一个模拟主机资源(CPU、RAM 等)的协调系统,使虚拟机或“来宾机器”可以使用它们。应用程序
5、和运行它们所需的一切,包括库和系统二进制 5 部署容器的 5 个好处基于容器的基础设施提供了许多好处。以下是最大的五个好处。1.交付速度 安装在虚拟机上的应用程序通常需要几分钟才能启动。容器不必等待操作系统启动,所以它们可以在几分之一秒内启动。它们运行速度也更快,因为它们使用的主机操作系统资源更少,并且创建、克隆或销毁只需几秒钟。所有这些都对开发过程产生了巨大的影响,使组织能够更快地将软件推向市场,修复错误并添加新功能。2.开发运维优先 容器的速度、小占地面积和资源效率使它们成为开发运维环境的理想选择。基于容器的基础设施使开发人员能够在他们喜欢的平台上尽可能快速高效地工作,而不必在非业务关键任
6、务上浪费时间。3.易接近 如前所述,容器只打包应用程序及其依赖项。这使得在 Windows、Linux 或 Mac 硬件上移动和可靠运行容器变得容易。容器可以在裸机或虚拟服务器上运行,也可以在公共或私有云中运行。如果您需要将应用程序从一个公共云环境移动到另一个公共云环境,这也有助于避免供应商锁定。4.增强的可扩展性 容器往往很小,因为它们不像虚拟机那样需要单独的操作系统。一个容器的大小通常是几十兆字节,而一个虚拟机可以是几十千兆字节,大约是一个容器大小的 1000 倍。这种效率允许您在单个主机操作系统上运行更多的容器,提高了可扩展性。5.一致性 因为容器在内部保留了所有的依赖关系和配置,所以无