首页 > 解决方案 > 如何访问容器中的 minikube IP 和服务端口?

问题描述

我有一个包含多个服务的 minikube 集群:

# kubectl get services
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service1     NodePort    10.96.123.85     <none>        8080:32157/TCP   13d
service2     ClusterIP   10.96.0.1        <none>        8081/TCP         13d


# minikube ip
172.18.77.222

# kubectl get pods
NAME                        READY   STATUS             RESTARTS   AGE
application1-aaaaa-bbbbb    1/1     Running            1          121m
application2-aaaaa-bbbbb    1/1     Running            1          112m

我想通过 minikube ip 和 NodePort 从 application2 调用 application1。( http://172.18.77.222:32157 )

(Application1 是 Keycloak 服务器。ACCESS_TOKEN 中的 issuer 字段包含“外部”minikube url “http://172.18.77.222:32157”,因此 keycloak 只接受发送到 172.18.77.222:32157 的调用)

我怎样才能访问

从应用程序2?

标签: kuberneteskeycloakkubectlminikube

解决方案


如果您想从另一个服务调用功能,您可以使用 consul 进行服务发现。必须部署 Consul helm 图表(在集群中一次)以允许在您的服务之间进行服务发现。 https://www.consul.io/docs/k8s


推荐阅读