kubernetes - IBM Cloud Function - 连接到 Kubernetes 容器
问题描述
我想从 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上提供了官方库的完整列表,他们也提到了社区维护的库。
推荐阅读
- python-3.x - 从不同时区的两个日期计算持续时间
- kotlin - 函数重载与类型协方差不明确,但与泛型不明确
- mongodb - 在所有记录中替换mongodb中数组字段中的元素
- android - 如何使用不同的视图模型获得不同的状态?
- python - 如何将软投票分类器应用于多标签分类
- reactjs - ButtonGroup 中的 IconButton 样式不稳定
- javascript - 移动 DApp 连接到钱包
- html - CSS 选择器 - 如何抓取所有元素
- python - TypeError:“_Printer”和“int”的实例之间不支持“>=”。想不通是什么意思
- php - 多个同时调用 exec 会阻止程序继续执行