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

AKS集群如何配置Nginx Ingress Controller开放TCP端口11112访问服务

如何让AKS集群中的服务通过TCP端口11112对外访问

你的Deployment和Service基础配置已经完成了容器端口暴露、Service端口映射的工作,核心需要针对Ingress Controller做TCP流量转发配置(默认Ingress仅处理HTTP/HTTPS流量)。以AKS中最常用的NGINX Ingress Controller为例,具体修改步骤如下:


1. 创建/修改TCP转发配置的ConfigMap

在Ingress Controller所在的命名空间(通常是kube-system或ingress-nginx)中,添加TCP端口映射规则,将外部访问端口指向你的服务:

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-ingress-tcp
  namespace: kube-system
data:
  "11112": "default/xxx-py:11112" # 格式:"外部访问端口": "服务所在命名空间/服务名称:服务端口"

如果你的xxx-py服务不在default命名空间,替换成对应的命名空间即可。

2. 更新Ingress Controller的Pod配置

将上述ConfigMap挂载到Ingress Controller的Pod中,并暴露对应的TCP端口:
找到Ingress Controller的Deployment/DaemonSet(通常名为nginx-ingress-controller),修改容器配置:

spec:
  template:
    spec:
      containers:
        - name: nginx-ingress-controller
          ports:
            - name: tcp-11112
              containerPort: 11112
              hostPort: 11112 # 若需要直接绑定节点端口则保留,否则可移除
          volumeMounts:
            - name: tcp-config
              mountPath: /etc/nginx/tcp-services.d
      volumes:
        - name: tcp-config
          configMap:
            name: nginx-ingress-tcp

修改完成后应用配置,Ingress Controller Pod会自动重启加载新规则。

3. 验证访问

待Ingress Controller重启完成后,即可通过以下方式访问服务:

  • 若Ingress Controller使用Load Balancer:通过Load Balancer的公网IP + 11112端口访问
  • 若使用NodePort:通过集群节点IP + 11112端口访问

补充:Helm安装的Ingress Controller简化配置

如果你的NGINX Ingress Controller是通过Helm安装的,直接在values.yaml中添加TCP配置即可:

tcp:
  11112: "default/xxx-py:11112"

然后执行helm upgrade命令更新Ingress Controller:

helm upgrade nginx-ingress ingress-nginx/ingress-nginx -n kube-system -f values.yaml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:50:39