您现在的位置是:首页 >要闻 > 2020-11-15 16:36:26 来源:

管理Kubernetes不适合胆小者 容器编排程序Kubernetes一直很受欢迎

导读 它需要大量的技能和正确的工具来正确管理其集群上的软件。这就是Kubernetes运算符的用武之地。现在,Canonical的基于DevOps Juju的Charm

它需要大量的技能和正确的工具来正确管理其集群上的软件。这就是Kubernetes运算符的用武之地。现在,Canonical的基于DevOps Juju的Charm Open Operator Collection(最大的应用程序运算符集合)支持Windows和Linux上的Kubernetes,云原生和传统应用程序。该集合在Charmhub.io上托管,并遵循《开放运营商宣言》。

那么,什么是Kubernetes运营商呢?这是一种打包,部署和管理Kubernetes应用程序的方法。Kubernetes应用程序是既部署在Kubernetes上,又使用Kubernetes应用程序编程接口(API)和kubectl工具进行管理的应用程序。

简而言之,操作员实施应用程序的生命周期管理。运营商用共享的标准化操作代码包替换了手工制作的机构手工操作代码。这样,操作员可以消除组织之间的重复劳动。通过提供共享的操作代码库,这也有助于公司。

此外,运营商还封装了应用程序领域知识。这样,您可以在不学习底层细节的情况下设置和运行应用程序以及建立它们之间的关系。理想情况下,它提供了完整的应用程序生命周期,包括配置和集成以及第二天的操作。

Juju是一个云DevOps工具。但是它比Ansible, Puppet, Chef或Salt等著名的DevOps程序具有更高的工作水平。这些程序通过设置每个实例运行相同软件配置的虚拟机(VM)来自动执行服务器配置。Juju在他们之上工作。这是为了管理服务,而不是机器。Juju用“魅力”来做到这一点。这些是DevOps最佳实践的可共享,可重用和可重复的表达。

因此,Canonical公司首席执行官兼创始人Mark Shuttleworth表示,其他DevOps“配置管理方法不适用于容器。您无法转到容器进行配置。使用Juju Charms,您可以得到一整套可重复使用的操作代码。” 更好的是,“即使微服务的数量与集成所需的行数一起激增,Juju Charms仍然可以处理服务和应用程序之间的集成。” 结果是可以轻松设置和集成多个应用程序和服务。

Canonical产品经理Sohini Roy解释说,不仅仅是Juju现在作为Kubernetes运营商确实运转良好。Roy解释说,就像“操作员模式已成功取代Kubernetes上用于云原生工作负载的配置管理一样”。“我们很高兴能将操作员模式概括为包括Linux和Windows上的传统应用程序,从而为裸机,虚拟和Kubernetes领域的应用程序管理提供一致的模型驱动的操作员框架。”

那么这实际上意味着什么呢?Mattermost 联合创始人兼首席执行官Ian Tien解释说:“在整个应用程序生命周期中,数据安全性和开发人员的生产力对我们的客户至关重要。借助迷人的开源运营商,Mattermost可以在数分钟内完成安装,并确保实施采用最佳实践- -不仅用于部署,而且还用于修补,升级甚至重新架构。”

您可以通过Charmhub.io自己尝试一下。这既是应用程序操作员的公共存储库,也是操作员社区协作的论坛。Charmhub运营商包括声明性集成点,可用于不同供应商的运营商之间可重复使用的自动化集成。集成代码嵌入到每个操作员中,以在部署过程中处理动态集成,从而确保安全最佳实践和整个过程的可用性。

例如,使用MariaDB作为DBMS以及使用Apache作为网络服务器来设置一个运行普通Linux,Apache,MySQL和Perl / PHP / Python(LAMP)(例如WordPress)的Kubernetes集群很简单。

尽管运算符是与语言无关的,并且可以使用任何语言进行开发,但Python是Juju的首选语言。Charmhub为Python操作员开发人员提供了代码共享和协作功能,以便在操作员之间重用库和接口定义。在Python的操作框架处理低级别的生命周期管理和集成的详细信息。

为了减少管理开销,将操作员部署在称为模型的组中。然后,您可以使用声明式集成在应用程序图中构成运算符。由于集成线可以跨越云边界,因此经验丰富的运营商为多云和混合云操作提供了可靠且一致的基础。

无论采用哪种供应商,这种方法都可以确保一致的操作员体验。您在一个操作员中所做的任何更改都会自动传播到同一模型中的其他操作。

这是通过Juju操作员生命周期管理器(OLM)完成的。OLM为运营商提供服务。除了基本的供应和生命周期管理功能之外,Juju OLM还支持具有事件传递,事件序列化,持久状态,领导者选举,应用程序状态监视,应用程序消息和集成数据交换功能的模型驱动的体系结构。

我一直很喜欢Juju。它使首先跨服务器设置复杂的应用程序,然后使云计算变得更加容易。现在,通过相同的方法可以轻松地在Kubernetes集群和云上执行相同的操作。我强烈建议您尝试使用这种新的Charmed方法给Kubernetes运营商。