首页 > 解决方案 > 从在不同 k8s 集群中运行的 pod 启动不同 k8s 集群中的 pod

问题描述

是否可以从在 K8 集群 C 中运行的 pod 启动名为 B 的 K8s 集群中的 pod。

标签: kubernetes

解决方案


是的。这是一种hacky方式,但它是可能的。

此外,指南通常与此答案中的相同:

我如何在 Kubernetes 中创建新的命名空间

在集群 B 中的 pod 中,您可以调用:

$ kubectl apply -f  <your pod-definition>

它在集群 C 中创建一个 pod,并~/.kube/config指向集群 C。

您还可以设置一个角色和整个 RBAC,然后curl从集群 B 向集群 B发出 a。

$ curl -k -H -X POST -H 'Content-Type: application/json' \
                     -H 'Authorization: Bearer <token>' \
                     https://$KUBERNETES_SERVICE_HOST:6443/api/v1/namespaces/namespace/pods -d '
{
    "apiVersion": "v1",
    "kind": "Pod",
    "metadata": {
        "name": "mypod"
        "namespace": "mynamespace",

    },
    "spec": {
        "containers": [
           {
              ...
           }
        ]
        ...
     }
}'

或者也使用像client-go或/和kubernetes-client/python这样的库。


推荐阅读