#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 для пользовательских ресурсов.