Kubernetes已经成为管理企业中软件容器的必备框架。它允许工程师通过使用相对简单的YAML数据序列化语言定义配置详细信息来构成容器集群。
但是,YAML虽然是配置任务的流行选择,但缺少诸如Python之类的编程语言的大多数高级功能,这使得大型Kubernetes集群难以管理。这就是cdk8s旨在解决的挑战。
AWS工程师Elad Ben-Israel和Nathan Taber在博客中解释道:“ YAML是一种很好的格式,用于描述集群的所需状态,但是它没有用于表达逻辑和可重用抽象的原语。”
AWS的cdk8s工具包通过使用流行的TypeScript,Python,Java和.NET编程语言来处理框架,从而解决了该问题。
使用这些语言的高级功能,工程师可以编写比YAML支持的更为复杂的配置逻辑来自动执行手动任务。
这减少了需要编写的样板代码的数量,并且对于有高级需求的公司,提供了在Kubernetes之上创建多个软件逻辑“层”以抽象其复杂性的能力。
Ben-Israel和Taber写道:“更高的层可以抽象化API的复杂性(例如,通过提供智能默认值),或者可以代表自以为是的想法,这些想法抽象出主要细节,而倾向于使用更简单的思维模型。”
使用编程语言而不是YAML,还可以使工程师利用与构建应用程序相同的工具来创建Kubernetes配置文件。在编写代码时,他们可以使用具有自动完成功能的集成开发环境。
然后,一旦需要部署配置文件,他们就可以使用团队现有的持续集成和持续交付工具,而不必依赖单独的YAML工作流程。
在幕后,cdk8s通过自动将代码转换为YAML语法来工作。Ben-Israel和Taber表示,AWS正在探索在将来的发行版中增加将YAML文件反汇编回代码的功能的可能性。
云巨头还在努力增加对其他编程语言和更多功能的支持,以简化Kubernetes管理任务。
AWS今天与新版本 CloudTrail 一起推出了cdk8s,CloudTrail是用于监视和审核企业AWS账户的产品。
现在有一个用于创建审核跟踪的“一步式快速创建过程”,以及一个新的配置向导,允许管理员自定义关键设置。
同样在今天的Kubernetes方面,AWS 宣布其 Amazon Elastic Kubernetes服务或EKS 现在在其美国GovCloud区域中普遍可用。
这将使政府监管行业中的政府组织和商业组织可以使用它在AWS上部署托管Kubernetes集群。