1

I am trying to set up a DNS server in Kubernetes on GCP. My service looks like this:

  kind: Service
  apiVersion: v1
  metadata:
    name: coredns-one
  spec:
    ports:
      - name: cdns-one
        port: 53
        protocol: UDP
      - name: cdns-one-tcp
        port: 53
        protocol: TCP
    selector:
      name: coredns-one
    type: LoadBalancer

When I try to create the service on on GCP I am given the following error:

 The Service "coredns-one" is invalid.
 spec.ports: Invalid value: [{"name":"cdns-one","protocol":"UDP","port":53,"targetPort":53,"nodePort":0},{"name":"cdns-one-tcp","protocol":"TCP","port":53,"targetPort":53,"nodePort":0}]: cannot create an external load balancer with mix protocols

I have upgraded our version of Kubernetes to 1.3, which I believe has this pr merged in which should add support for this configuration, but I'm unable to verify if Google's load balancers support it, or if there is a configuration error on my end. Any help appreciated, thanks!

samuraisam
  • 111
  • 5

1 Answers1

1

This isn't even supported in the current master branch. If you inspect this if-statement, you'll see that it rejects any service spec with more than one protocol. Create two different services.

aecolley
  • 943
  • 4
  • 15