You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS集群中如何使用Kubernetes服务全名替代AWS节点IP配置访问

解决方案

核心原理

Kubernetes集群默认内置CoreDNS服务提供集群内服务发现能力,同一集群内的Pod可以直接通过服务名访问对应Service,无需感知后端Pod、节点的IP变化,访问链路完全由K8s内部网络承载,不受节点漂移影响。

具体修改步骤

1. 修正MongoDB连接配置

你当前MongoDB的Service端口为27017(ClusterIP端口),NodePort30003是对外暴露的节点端口,同集群内访问无需走NodePort,直接修改ConfigMap中mongodb配置:

  • host从节点IP改为mongodb-service(如果两个服务不在同一个命名空间,格式为mongodb-service.命名空间名.svc.cluster.local)
  • port从30003改为服务的ClusterIP端口27017

2. 修正Git地址配置

你当前Git地址用的是节点IP+30001端口,分两种场景处理:

  • 如果Git服务部署在同一EKS集群内:给Git服务创建ClusterIP类型Service,将prefixUrl中的10.255.12.11:30001替换为Git的服务名+对应服务端口即可
  • 如果Git服务部署在集群外:建议给Git服务绑定固定EIP或配置私有域名,替换原有节点IP

修改后的ConfigMap示例

apiVersion: v1
kind: ConfigMap
metadata:
  name: ama-settings
  labels:
    conf: ams-settings
data:
  config : |
 "git": {
      "prefixUrl": "ssh://git@[Git服务名/固定域名/EIP]:[Git服务端口]/app-server/repos/ams/",
      "author": {
      "name": "app poc",
      "mail": "app@domain.com"
    },

      "mongodb": {
      "host": "mongodb-service",
      "port": "27017",
      "database": "ams",
      "ssl": false,
     }

验证方法

修改ConfigMap后重启ams应用Pod,进入ams Pod执行如下命令验证连通性:

  • 验证MongoDB服务解析:nslookup mongodb-service,可正常返回对应ClusterIP即解析正常
  • 验证端口连通性:telnet mongodb-service 27017,可连通即配置生效

内容的提问来源于stack exchange,提问作者Gowmi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:48:03