【问题标题】:kubernetes -list ingress for all namespaces by REST-Callkubernetes - 通过 REST-Call 列出所有命名空间的入口
【发布时间】:2021-01-29 22:57:12
【问题描述】:

我想为每个命名空间列出 kubernets 集群上的所有入口 URL。

我知道有可能:

  1. kubectl -> kubectl 获取入口
  2. 众多客户,例如对于蟒蛇:https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/ExtensionsV1beta1Api.md#list_ingress_for_all_namespaces

就我目前的情况而言,一个简单的 REST-Call 将是最好的解决方案,但我找不到任何可以为我指明正确方向的文档。是否有 REST-Endpoint 可以访问 kubernets 集群上的上述信息?

提前致谢。

【问题讨论】:

    标签: rest kubernetes kubernetes-ingress


    【解决方案1】:

    是的,您可以调用 API 服务器来检索所有入口规则: https://kubernetes/apis/extensions/v1beta1/ingresses

    此网址可以在您的集群环境中使用。从外部调用时,将其替换为一些公共 IP/域。

    您需要使用 Bearer Token 进行身份验证。该令牌通常安装在您的 Pod 中 /var/run/secrets/kubernetes.io/serviceaccount/token (有一些例外,例如 terraform kubernetes 后端默认不安装此令牌)。要获取令牌以供外部使用,您可以使用以下方式将其导出:

    TOKEN=$(kubectl describe secret $(kubectl get secrets \
         | grep ^default | cut -f1 -d ' ') | grep -E '^token' | cut -f2 -d':' | tr -d " ")
    

    这里有更多信息(不是关于入口,而是其他 REST API 调用):https://stackoverflow.com/a/50797128/9423721

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-23
      • 2021-01-20
      • 1970-01-01
      • 2016-02-04
      • 2021-10-24
      • 2020-08-30
      • 2022-01-01
      • 2018-05-21
      相关资源
      最近更新 更多