kubernetes - 通过 REST 调用列出所有命名空间的入口
kubernetes -list ingress for all namespaces by REST-Call
我想列出 kubernets 集群上每个命名空间的所有入口 url。
我知道可以用:
- kubectl -> kubectl 获取入口
- 众多客户,例如python: https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/ExtensionsV1beta1Api.md#list_ingress_for_all_namespaces
对于我目前的情况,一个简单的 REST-Call 将是最好的解决方案,但我找不到任何文档可以指出正确的方向。是否有 REST 端点可以访问 kubernets 集群上的上述信息?
提前致谢。
是的,您可以调用 API 服务器来检索所有入口规则:
https:///kubernetes/apis/extensions/v1beta1/ingresses
这个 url 可以在您的集群环境中工作。外面调用的时候换成一些publicIP/Domain
您将需要使用 Bearer Token 进行身份验证。该令牌通常安装在 Pods 的 /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 调用):
我想列出 kubernets 集群上每个命名空间的所有入口 url。
我知道可以用:
- kubectl -> kubectl 获取入口
- 众多客户,例如python: https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/ExtensionsV1beta1Api.md#list_ingress_for_all_namespaces
对于我目前的情况,一个简单的 REST-Call 将是最好的解决方案,但我找不到任何文档可以指出正确的方向。是否有 REST 端点可以访问 kubernets 集群上的上述信息?
提前致谢。
是的,您可以调用 API 服务器来检索所有入口规则: https:///kubernetes/apis/extensions/v1beta1/ingresses
这个 url 可以在您的集群环境中工作。外面调用的时候换成一些publicIP/Domain
您将需要使用 Bearer Token 进行身份验证。该令牌通常安装在 Pods 的 /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 调用):