我想从 IBM Cloud Function 连接到 Kubernetes 容器,以便 Cloud Function 可以查询同一资源组中 Kubernetes 集群中的 Rest API。Kubernetes 集群禁用了公共 ip,只启用了私有 ip。
我该如何解决这个问题?
我想从 IBM Cloud Function 连接到 Kubernetes 容器,以便 Cloud Function 可以查询同一资源组中 Kubernetes 集群中的 Rest API。Kubernetes 集群禁用了公共 ip,只启用了私有 ip。
我该如何解决这个问题?
访问 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上提供了官方库的完整列表,他们也提到了社区维护的库。