kubernetes - Kubernetes - 在两个容器之间以及与外界进行通信的最佳方式
问题描述
我有两个 Kubernetes 开发:一个带有 Grafana pod,另一个带有 InfluxDB pod。
我想:
1) 将我的 Grafana:3000 暴露给外界
2) Grafana 能够连接到 InfluxDB:8086
我已经看到它使用两个单独的“服务”完成:一个 Grafana 服务(类型 = NodePort,目标端口 = 3000)和一个 InfluxDB 服务(类型 = ClusterIP,目标端口 = 8086)。
它工作正常。然而,可以/应该只用一项“服务”来完成吗?
解决方案
对于南北流量,即在集群之外公开服务 LoadBalancer 或最好是入口比 NodePort 更好,因为当使用 NodePort 时,如果节点 IP 或端口发生变化,那么客户端需要在他们用来访问服务的端点中进行更改。
对于集群内服务之间的东西向流量,clusterIP 服务已经足够好了。
推荐阅读
- css - 当其父元素按比例放大时,如何将子元素的比例明显反转为未转换
- pandas - 如何将inf修改为索引
- firebase - Firestore 集合组安全规则:数组包含任何
- c# - CSOM 调用 GetImagePreviewUrl 返回 Object 但值为空
- mysql - 如何在 yairEO/tagify 上使用动态白名单?
- r - ggplot geom_tile 相关图混合排序轴刻度标签创建奇怪的图
- sql - 在 VBA Access 中比较日期
- java - 在java中查找系统时区是提前还是落后于UTC
- amazon-web-services - 带有 HTTP 引用的 AWS S3 存储桶策略总是给出 403
- javascript - 将类组件反应为功能组件