如何在 Kubernetes 集群中安装和连接 Control-M 代理?

问题描述

我对使用 Control-M 很陌生。我需要在 Kubernetes 集群安装代理 - 您能告诉我我需要遵循哪些步骤或为我指明相关文档的方向吗?安装后(我不知道该怎么做),我如何“连接”我的 control-m 服务器到代理

非常感谢您提供的任何帮助/指导。

解决方法

BMC 对此有一个常见问题解答,请注意代理设置需要调整(请参阅答案 1)。在 v9.0.19 和 9.0.20 中对此的支持更好。另请查看 github 链接 -

1.如果我们在 Kubernetes pod 上提供代理作为容器,代理主机名应该是什么? .默认情况下,它以 kubernetes pod 名称作为主机名,外部无法 ping 通。

您可以使用 StatefulSet 以便设置名称。

如果你想让 Control-M/Server(从 k8s 外部)连接到一个在 k8s 内部的 Control-M/Agent,你需要将连接类型更改为持久连接(请参阅实用程序代理:ctmagcfg,ctm:ctm_menu)这将从 Control-M/Agent 端启动。

附加信息:使用 Control-M 在基于 Kubernetes 的集群中运行 pod 以完成的最佳实践 https://github.com/controlm/automation-api-community-solutions/tree/master/3-infrastructure-as-code-examples/kubernetes-statefulset-agent-using-pvc

2.我们可以通过负载均衡器连接在 kubernetes 中配置的 Agent 吗?

是的。 LoadBalancer 将公开一个静态名称/ip 并允许 Control-M/Server 连接 Control-M/Agent 但它不是必需的(请参阅持久连接)并且在大多数云中它会花钱(例如在 AWS 中它实际上是定义您正在付费的弹性 IP)

3.由于我们看到了来自 bmc 社区的一些文档,用于通过 docker 映像在 kubernetes 上安装代理,因此应该有一种方法可以从本地 Control-M/Server 中发现它。

一旦 pod(容器)启动,Control-M/Agent 发现是从 Control-M/Agent 端使用 CLI(或休息调用)“ctm 配置设置”完成的。

此 API 配置 Control-M/Agent(例如:使用提到的持久连接)并在 Control-M/Server 中定义/注册它。

4.在kubernetes环境下设置agent时,集群中的每个节点都需要安装agent吗?

Control-M/Agent 只需要安装一次。它不必安装在每个节点上。

5.代理可以通过一个DeamonSet安装在集群上并被所有容器共享吗?

代理可以通过 DeamonSet 安装,但这会在集群中的每个节点上安装一个代理。每个代理将被视为一个单独的安装,每个代理将单独添加到 CCM 中。或者,可以在 StatefulSet 中安装一个代理,其中只安装一个代理但可以访问 Kubernetes 集群