Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 代理UDP DNS通信到TCP后端服务_Kubernetes_Dns_Kubernetes Ingress_Amazon Vpc - Fatal编程技术网

Kubernetes 代理UDP DNS通信到TCP后端服务

Kubernetes 代理UDP DNS通信到TCP后端服务,kubernetes,dns,kubernetes-ingress,amazon-vpc,Kubernetes,Dns,Kubernetes Ingress,Amazon Vpc,我正在Kubernetes上创建一个CoreDNS服务器,该服务器需要使用AWS网络负载平衡器侦听端口53上的UDP流量。我希望使用TCP将该流量代理给Kubernetes服务 我当前的服务如下所示: --- apiVersion: v1 kind: Service metadata: name: coredns namespace: coredns annotations: prometheus.io/port: "9153" prometheu

我正在Kubernetes上创建一个CoreDNS服务器,该服务器需要使用AWS网络负载平衡器侦听端口53上的UDP流量。我希望使用TCP将该流量代理给Kubernetes服务

我当前的服务如下所示:

---
apiVersion: v1
kind: Service
metadata:
  name: coredns
  namespace: coredns
  annotations:
    prometheus.io/port: "9153"
    prometheus.io/scrape: "true"
  labels:
    k8s-app: coredns
    kubernetes.io/cluster-service: "true"
    kubernetes.io/name: "CoreDNS"
spec:
  selector:
    k8s-app: coredns
  type: NodePort   
  ports:
  - name: dns
    port: 5353
    targetPort: 5353
    nodePort: 30053
    protocol: UDP
  - name: dns-tcp
    port: 5053
    targetPort: 5053
    nodePort: 31053
    protocol: TCP
  - name: metrics
    port: 9153
    targetPort: 9153
    protocol: TCP
网络负载平衡器在指定的节点端口上与集群通信,但UDP侦听器在从服务器请求区域数据时超时

当我对记录进行
dig
时,我将获得一个超时,除非在dig中指定了
+tcp
。从负载平衡器到端口的运行状况检查将返回正常状态,TCP查询将按预期返回

理想情况下,我的侦听器将在负载平衡器的端口53上接受TCP和UDP通信,并根据请求的初始协议返回TCP或UDP通信

有没有什么明显的地方我不明白,为什么UDP流量既没有到达我的集群,也没有返回响应