使用Kubernetes Python客户端获取Ingress网关IP地址



在Seldon部署可用后,我使用以下kubectl命令获取Ingress主机IP地址。

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

我想从Kubernetes Python API运行相同的命令,但在文档中找不到任何关于如何执行的信息

你能帮我一下吗?

提前谢谢。

每个Kubernetes对象类型上的每个REST操作都有一个单独的客户端函数。一旦拥有了该对象,就可以像其他任何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的对象,如VirtualServices,那么有一个单独的API用于自定义资源。

import kubernetes
network_api =kubernetes.client.NetworkingV1Api()
service = network_api.read_namespaced_ingress(ingress_name, namespace)
print(service.status.load_balancer.ingress[0].ip)

相关内容

  • 没有找到相关文章

最新更新