kubernetes - 如何访问容器中的 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 的调用)
我怎样才能访问
- minikube ip 和
- service1 的 NodePort
从应用程序2?
解决方案
如果您想从另一个服务调用功能,您可以使用 consul 进行服务发现。必须部署 Consul helm 图表(在集群中一次)以允许在您的服务之间进行服务发现。 https://www.consul.io/docs/k8s
推荐阅读
- python - 运行 python 函数的 Slack 机器人
- java - SAML 2.0 onelogin IdPMetadataParser 返回空结果
- c# - 使用 64 位 Web ASP 应用程序连接到 informix
- python - 如何使用 Python 将 SQL 查询的输出重定向到文本文件
- flutter - 有没有一种方法可以在字段集中时输入字段文本?
- c# - 在具有 Moq 的同一成员设置上同时使用 When 和 Protected 方法
- azure-functions - Azure C# 函数调用表单识别器认知服务示例
- sqlite - 除了第一行csv,如何将csv文件导入sqlite?
- cuda - 在这个添加两个数组的程序中,K80 与 Pascal 性能差异的原因是什么?
- java - 枚举实现的单例在模块化趋势中是否仍然值得(即 Java 9+ 模块化和 Jigsaw 项目)