正文
如果你直接从YAML创建了Kubernetes资源,那么编写Ansible角色以在集群中创建资源会非常熟悉。使用Ansible等通用自动化工具意味着你可以自由地与集群内外的资源集成。例如,你的服务包可以在群集内部署一个Web应用程序,该应用程序利用群集外部的数据库。
最后,每个服务包都有一组最终用户将看到的标准属性,包括名称,描述以及用户在提供时可以指定的参数。此元数据与你使用Ansible或其他方式实现的逻辑相结合,形成了完整的应用程序定义。
把它们放在一起
Kubernetes集群的最终用户可以查看服务目录以查看可用的服务。Automation Broker可能是目录中的几个服务之一。当用户选择你的服务包时,他们有机会提供该包所接受的任何参数。
用户体验因平台而异。在纯Kubernetes上,你可以使用svcat命令行工具。在OpenShift上,Web控制台提供图形体验。
完成用户输入后,服务目录会告知Automation Broker配置所选服务。代理在集群中设置安全命名空间,并将服务包作为内部运行容器启动。在这一点上,你的服务包可以做任何事情。例如,Postgresql包创建三个Kubernetes资源:DeploymentConfig,Service和PersistentVolumeClaim。更高级的服务包可以部署整个相关服务堆栈并将它们绑定在一起。
配置服务后,你可以创建Bindings,这是一种标准化构造,用于将其他应用程序连接到您的服务。查找有关应用程序如何使用配置服务的未来博客文章。
准备看到它在行动? “启动并运行OpenShift Ansible Broker”是一个简单的逐步指南,用于启动OpenShift集群并与Automation Broker进行交互。(聪明的读者会注意到Openshift的文档是指“Openshift Ansible Broker”,这只是他们自动化代理的名字。)