Получить IP-адрес входного шлюза с помощью клиента Python Kubernetes

#python #kubernetes #kubernetes-ingress #kubernetes-python-client #seldon-core

Вопрос:

Я использую следующую команду kubectl, чтобы получить IP-адрес входного хоста после того, как мое развертывание Seldon станет доступным.

 kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
 

Я хотел бы выполнить ту же команду из API Python Kubernetes, но не могу найти в документации никакой информации о том, как это сделать.

Не могли бы вы, пожалуйста, помочь мне?

Заранее спасибо.

Ответ №1:

Для каждой операции REST для каждого типа объектов Kubernetes существует отдельная клиентская функция. Как только у вас появится этот объект, вы сможете перемещаться по нему, как по любому другому объекту Python.

 service = kubernetes.client.read_namespaced_service('istio-ingressgateway', 'istio-system')
print(service.status.load_balancer.ingress[0].ip)
# Note the capitalization ^^^^ of load_balancer, not loadBalancer
 

service Объект является объектом V1Service. В более общем плане документация API включает в себя каждый вызов метода и документацию для всех типов запросов и возвращаемых данных.

Служба-это стандартный объект Kubernetes. Если вы имели дело с некоторыми специфичными для Istio объектами, такими как виртуальные службы, существует отдельный API для пользовательских ресурсов.