title: How to expose multiple port using a load balancer services in Kubernetes
body: <p>I have created a cluster using the google cloud platform (container engine) and deployed a pod using the following YAML file:</p>
  
  <pre class="lang-yaml prettyprint-override"><code>apiVersion: extensions/v1beta1
  kind: Deployment
  metadata: 
    name: deployment-name
  spec:
    replicas: 1
    template:
      metadata:
        name: pod-name
        labels: 
          app: app-label
      spec:
        containers: 
        - name: container-name
        image: gcr.io/project-id/image-name
        resources:
          requests:
            cpu: 1
        ports:
        - name: port80
          containerPort: 80
        - name: port443
          containerPort: 443
        - name: port6001
          containerPort: 6001
  </code></pre>
  <p>Then I want to create a service that enables the pod to listen on all these ports. I know that the following YAML file works to create a service that listens on one port:</p>
  <pre class="lang-yaml prettyprint-override"><code>apiVersion: v1
  kind: Service
  metadata: 
    name: service-name
  spec:    
    ports:
    - port: 80
      targetPort: 80
    selector: 
      app: app-label
    type: LoadBalancer
  </code></pre>
  <p>However when I want the pod to listen on multiple ports like this, it doesn't work:</p>
  <pre class="lang-yaml prettyprint-override"><code>apiVersion: v1
  kind: Service
  metadata: 
    name: service-name
  spec:    
    ports:
    - port: 80
      targetPort: 80
    - port: 443
      targetPort: 443
    - port: 6001
      targetPort: 6001
    selector: 
      app: app-label
    type: LoadBalancer
  </code></pre>
  <p>How can I make my pod listen to multiple ports?</p>