在哪里可以查看 Kubernetes Discovery 中注册的服务列表?

问题描述 投票:0回答:3

如果使用 eureka (+ Spring Boot),您可以到达特殊端点,在其中可以找到当前注册实例的列表。例如。:

Kubernetes 服务发现是否有这样的端点,或者可能是其他机制来查看所有当前注册的实例? UPD:kubernetes api 是否有可能通过 kubectl 来做到这一点?

kubernetes microservices spring-cloud webservice-discovery
3个回答
1
投票

不。 Eureka 是一个服务发现和注册系统。 spring cloud 在 kubernetes 上实现服务发现仅从 kubernetes api 读取。您可能可以通过 kubectl 获取信息。


0
投票

Kubernetes 有一个基于 HTTP 的 API,您可以通过多种方式与之交互(例如:

kubectl
),当然您也可以使用
curl

操作方法如下:使用 Kubernetes API 访问集群

如果您对 pod 感到好奇,您可以这样做:

  • kubectl get pods
    kubectl get pods -o json
  • curl http://localhost:8080/api/v1/pods

如果您的意思是

services
(及其注册目标):

  • kubectl get services
    kubectl services pods -o json
  • curl http://localhost:8080/api/v1/services

0
投票

过了一段时间我就成功解决了问题。

  1. 添加微服务的端点。示例此处
  2. 将角色添加到您的 kubernetes 集群:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: yours
  name: service-reader
rules:
  - apiGroups: [""] # "" indicates the core API group
    resources: ["services"]
    verbs: ["get", "watch", "list"]

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: service-reader-pod
subjects:
  - kind: ServiceAccount
    name: default
    namespace: yours
roleRef:
  kind: ClusterRole
  name: service-reader
  apiGroup: rbac.authorization.k8s.io
© www.soinside.com 2019 - 2024. All rights reserved.