我目前正在开发 kubernetes 集群。集群工作正常。
我需要在不使用代理的情况下建立服务之间的通信。
例如我有以下服务:
- worker
- app1
- app2
- app3
Worker 需要直接通过 SSH 登录应用程序容器并执行一些命令。
在 docker-compose 文件中,通过使用链接然后 ssh app1、ssh app2 很容易。
在 Kubernetes 中如何做到这一点?
你会想要创建一个无头服务 https://kubernetes.io/docs/concepts/services-networking/service#headless-services (spec.clusterIP: None
) 选择您的应用程序 Pod。这将创建一个 DNS 条目(类似于my-svc.my-namespace.svc.cluster.local
)将解析为您的服务选择的 Pod 的 IP 集。然后,您可以循环访问返回的 Pod IP 列表并通过 ssh 进入每个列表。
可以找到更多详细信息here https://kubernetes.io/docs/concepts/services-networking/dns-pod-service#services.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)