首页 > 解决方案 > IBM Cloud Function - 连接到 Kubernetes 容器

问题描述

我想从 IBM Cloud Function 连接到 Kubernetes 容器,以便 Cloud Function 可以查询同一资源组中 Kubernetes 集群中的 Rest API。Kubernetes 集群禁用了公共 ip,只启用了私有 ip。

我该如何解决这个问题?

标签: kubernetesibm-cloudibm-cloud-functionsibm-cloud-kubernetes

解决方案


访问 Kubernetes Api 的方法有很多种,你可以在这里阅读我认为大部分的方法。

我只会提到一些对您的情况可能有用的东西。

一种是使用可以使用pip install kubernetes. 有关该库的更多信息,您应该查看此页面

您需要通过 IBM Cloud Function 从 Kubernetes 集群复制 kubeconfig 文件,完成后,您的基本代码可能如下所示:

from kubernetes import client, config

config.load_kube_config()

v1=client.CoreV1Api()
print("Listing pods with their IPs:")
ret = v1.list_pod_for_all_namespaces(watch=False)
for i in ret.items:
    print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))

您可以在他们的GitHub 页面上找到更多 Python 示例。

还有其他库,如Java 客户端dotnet 客户端JavaScript 客户端

Client Libraries上提供了官方库的完整列表,他们也提到了社区维护的库。


推荐阅读