kubernetes - Kubernetes 多状态集 pods 通信
问题描述
在同一个有状态集合 afaik 中,您可以通过直接引用特定 pod 在特定 pod 之间进行交互,就像这样 - pod-{0..N-1}.my_service.my_namespace.svc.cluster.local
。(这里有更多信息:https ://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id )。
但是,在我的情况下,我有 2 个不同的有状态集,并且我希望能够statefullset1-pod-0
从第一个有状态集与statefullset2-pod-0
来自第二个有状态集(以及statefullset1-pod-1
与statefullset2-pod-1
,等等)进行交互。可能吗?如果是,您能否提供示例配置?
解决方案
但是,在我的情况下,我有 2 个不同的有状态集,我希望能够从第一个有状态集的 statefullset1-pod-0 与来自第二个有状态集的 statefullset2-pod-0 交互(以及 statefullset1-pod-1 和 statefullset2-pod -1,以此类推)。可能吗?如果是,您能否提供示例配置?
是的,您的应用程序可以访问其他应用程序,StatefulSet
因为它访问集群中的任何其他服务,使用服务的 DNS 名称。例如,如果您statefullset2-pod-0
在同一个命名空间中创建了服务,那么http://statefullset2-pod-0
如果它是一个 http 服务,您就可以访问它。
请记住,对于 StatefulSet,您有责任自己创建 Pod 身份服务。
StatefulSets 目前需要一个 Headless Service 来负责 Pod 的网络身份。您负责创建此服务。
推荐阅读
- python - Python:如何每次获取数组的下 k 个连续元素?
- visual-studio-2015 - 未生成 CMake 目标 RUN_TESTS
- android - 我有一个始终以固定大小显示的 TextView
- google-data-studio - 如何添加动态过滤数据的下拉控件?
- amazon-web-services - Terraform:如何在 concat 变量后添加子网掩码?
- c - 如何从文件中获取全名并将其与用户搜索的内容进行比较?
- python-3.x - 如何在处理其他代码时让 python 等待?
- oracle-apex - 用于将所选记录的列值更新为 sysdate 的按钮
- netsuite - 项目履行搜索工具包/包裹项目
- node.js - Node.js 有没有办法将时间戳转换为 .csv 文件中的日期?