IBM Cloud Function - Подключение к контейнеру Kubernetes
Я хочу подключиться из IBM Cloud Function к контейнеру Kubernetes, чтобы Cloud Function могла запрашивать Rest API, который находится в кластере Kubernetes в той же группе ресурсов. В кластере Kubernetes отключен общедоступный IP-адрес, отключен только частный IP-адрес.
Как я могу это решить?
1 ответ
Существует множество способов доступа к Kubernetes Api, о большинстве из которых, я думаю, вы можете прочитать здесь.
Я просто упомянул несколько, которые могут быть полезны в вашем случае.
Можно было бы использовать клиент Python, который можно установить с помощьюpip install kubernetes
. Для получения дополнительной информации о библиотеке вы должны проверить эту страницу.
Вам нужно скопировать kubeconfig flie из кластера Kubernetes через IBM Cloud Function, как только это будет сделано, ваш основной код может выглядеть следующим образом:
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))
Вы можете найти больше примеров для Python на их странице GitHub.
Есть также другие библиотеки Java клиента, Dotnet клиента, клиент JavaScript.
Полный список официальных библиотек доступен в клиентских библиотеках, также в них упоминаются библиотеки, поддерживаемые сообществом.