在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)