无法通过 Kubernetes REST API 创建/获取 Istio 对象



我们无法通过 Kubernetes REST API 访问 Istio 对象。

例:

  • kubectl get gateways工作并显示默认命名空间中的所有 Istio 网关。
  • curl ..../api/v1/namespaces/default/pods显示所有豆荚 部署在默认命名空间中。
  • curl ..../api/v1/namespaces/default/gateways返回404.

virtualservicesserviceentries和任何其他 Istio 对象也是如此。

我们在集群中运行了一个 REST API 服务器。 我们猜测问题可能是由于它支持 API 版本v1而 Istio 对象创建 YAML 文件引用 API 版本networking.istio.io/v1alpha3引起的。

这有点令人困惑,因为我们可以通过命令创建和获取 Istio 对象kubectl但不能通过向 kubernetes REST API 服务器发出 HTTP 请求来做同样的事情。 欢迎任何见解。谢谢。

当我检查 kubernetes REST 服务器的日志时,我得到了一些想法。 其余服务器被发现为在命名空间kube-system中运行的 pod

。无论如何,每次你需要使用 kubernetes REST 服务器来获取通过 API 版本创建的 Istio 对象时networking.istio.io/v1alpha3而不是像这样向 kubernetes REST 服务器发出 HTTP 请求.../api/v1/namespaces/default/gateways而不是.../apis/networking.istio.io/v1alpha3/gateways。 将网关替换为感兴趣的 Istio 对象的名称。

最新更新