# Currently specific to GKE. Annotations specific to other providers should be added
# after they get tested.
apiVersion: v1
kind: Service
metadata:
  name: istio-pilot-ilb
  namespace: istio-system
  annotations:
    cloud.google.com/load-balancer-type: "internal"
  labels:
    istio: pilot
spec:
  type: LoadBalancer
  ports:
  - name: https-pilot
    port: 15005
    protocol: TCP
  - port: 8080
    name: http-pilot
    protocol: TCP
  - port: 15010
    name: grpc-pilot
    protocol: TCP
  - port: 15011
    name: tls-grpc-pilot
    protocol: TCP
  selector:
    istio: pilot
---
apiVersion: v1
kind: Service
metadata:
  name: dns-ilb
  namespace: kube-system
  annotations:
    cloud.google.com/load-balancer-type: "internal"
  labels:
    k8s-app: kube-dns
spec:
  type: LoadBalancer
  ports:
  - port: 53
    protocol: UDP
  selector:
    k8s-app: kube-dns

---

apiVersion: v1
kind: Service
metadata:
  name: mixer-ilb
  namespace: istio-system
  annotations:
    cloud.google.com/load-balancer-type: "internal"
  labels:
    istio: mixer
spec:
  type: LoadBalancer
  ports:
  - port: 15004
    protocol: TCP
  selector:
    istio: mixer
    istio-mixer-type: telemetry

# This points to istio-telemetry until we are able to support both
# istio-policy and istio-telemetry as separate services for mesh expansion.

---
apiVersion: v1
kind: Service
metadata:
  name: citadel-ilb
  namespace: istio-system
  annotations:
    cloud.google.com/load-balancer-type: "internal"
  labels:
    istio: citadel
spec:
  type: LoadBalancer
  ports:
  - port: 8060
    protocol: TCP
  selector:
    istio: citadel
