我们无法通过Kubernetes REST API访问ISTIO对象。
示例:
kubectl get gateways --->可以显示默认名称空间中的所有istio网关。
但是curl .... / api / v1 / namespaces / default / gateways返回404。
“虚拟服务”,“服务条目”和任何其他istio对象也是如此。
但是,curl .... / api / v1 / namespaces / default / pods显示所有Pod
部署在默认名称空间中。
我们在集群中运行了一个Rest API服务器。我们猜测问题可能是由它支持api版本“ v1”而istio对象创建yaml文件引用了api版本:“ networking.istio.io/v1alpha3”。
这有点令人困惑,因为我们可以通过kubectl命令创建和获取istio对象,但是不能通过向kubernetes REST API服务器发出HTTP请求来执行此操作。任何见识都将受到欢迎。谢谢。
答案 0 :(得分:2)
任何人都在乎...。当我查看kubernetes REST服务器的日志时,我有了一些想法。其余服务器被发现是在命名空间kube-system中运行的Pod。
无论如何,每次您需要使用kubernetes REST服务器来获取通过API版本“ networking.istio.io/v1alpha3”创建的ISTIO对象,而不是向kubernetes REST服务器发出诸如“ api / v1 / namespaces /默认/网关”代替,而是“ apis / networking.istio.io / v1alpha3 /网关”。用您感兴趣的ISTIO对象的名称替换网关。