Kubernetes - 从 Job 连接到 Pod
Kubernetes - connect from Job to Pod
我有一个带数据库的 pod 运行。我的目标是使用 Helm Hooks 使用 k8s Job 初始化数据库。
我已经成功地使用架构脚本设置了作业。
不幸的是,我在从作业的 command
连接到现有 Pod 时遇到了一些问题。
这是我的错误:
Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")}]
在 Pod 上,我有 Cassandra 容器 运行,在我的工作中,我使用以下命令:
command: ["/bin/sh", "-c", "cqlsh -f /path/to/schema.cql"]
我是否必须以某种方式定义连接到 Pod 的方式?我也有 Cassandra 运行 的服务。
Helm hook 创建一个新的 pod 作为 hook.You 的一部分不能使用 127.0.0.1
或 localhost
从另一个 pod 连接到一个 pod,因为它们位于不同的网络命名空间中。您应该使用 <PODIP>:9042
或者如果 pod 由服务公开,则使用服务名称,即 <service-name>.<namespace-name>.svc.cluster.local:9042
除了舵钩,您还可以使用 initcontainer,其中您可以使用 127.0.0.1
或 localhost
。
我有一个带数据库的 pod 运行。我的目标是使用 Helm Hooks 使用 k8s Job 初始化数据库。
我已经成功地使用架构脚本设置了作业。
不幸的是,我在从作业的 command
连接到现有 Pod 时遇到了一些问题。
这是我的错误:
Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")}]
在 Pod 上,我有 Cassandra 容器 运行,在我的工作中,我使用以下命令:
command: ["/bin/sh", "-c", "cqlsh -f /path/to/schema.cql"]
我是否必须以某种方式定义连接到 Pod 的方式?我也有 Cassandra 运行 的服务。
Helm hook 创建一个新的 pod 作为 hook.You 的一部分不能使用 127.0.0.1
或 localhost
从另一个 pod 连接到一个 pod,因为它们位于不同的网络命名空间中。您应该使用 <PODIP>:9042
或者如果 pod 由服务公开,则使用服务名称,即 <service-name>.<namespace-name>.svc.cluster.local:9042
除了舵钩,您还可以使用 initcontainer,其中您可以使用 127.0.0.1
或 localhost
。