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

如何在Azure容器应用中托管MongoDB?求可运行示例

启用TCP传输的Ingress可运行示例

以下是基于NGINX Ingress Controller的TCP转发完整可运行示例,适用于Kubernetes环境:

1. 创建TCP端口映射ConfigMap

这个ConfigMap用来定义Ingress要转发的TCP端口与后端Service的对应关系:

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx  # 需与Ingress Controller的命名空间保持一致
data:
  # 格式:外部端口:命名空间/服务名称:服务端口
  "30001": "default/tcp-echo-service:27017"

执行创建命令:
kubectl apply -f tcp-configmap.yaml

2. 更新Ingress Controller配置

修改Ingress Controller的Deployment(或DaemonSet),添加ConfigMap挂载并指定TCP配置参数:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  template:
    spec:
      containers:
      - name: controller
        args:
        - /nginx-ingress-controller
        - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services  # 添加该参数
        volumeMounts:
        - name: tcp-services
          mountPath: /etc/nginx/tcp-services.d
          readOnly: true
      volumes:
      - name: tcp-services
        configMap:
          name: tcp-services

执行更新命令:
kubectl apply -f ingress-controller-deployment.yaml

3. 创建后端TCP服务与Deployment

以TCP回声服务为例,用于验证转发效果:

# TCP服务Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: tcp-echo-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tcp-echo
  template:
    metadata:
      labels:
        app: tcp-echo
    spec:
      containers:
      - name: tcp-echo
        image: k8s.gcr.io/e2e-test-images/agnhost:2.39
        args:
        - tcp-echo
        - --port=27017
        ports:
        - containerPort: 27017

---

# TCP服务Service
apiVersion: v1
kind: Service
metadata:
  name: tcp-echo-service
spec:
  ports:
  - port: 27017
    targetPort: 27017
    protocol: TCP
  selector:
    app: tcp-echo

执行创建命令:
kubectl apply -f tcp-echo.yaml

4. 验证TCP转发

获取Ingress Controller的外部IP:
kubectl get svc ingress-nginx-controller -n ingress-nginx

使用nc或telnet测试连接:
nc <Ingress-Controller-IP> 30001
输入任意字符后,若能收到相同的回声,说明TCP转发已生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:42:43