apiVersion: v1
kind: Pod
metadata:
  name: l7-lb-controller-v1.1.1
  namespace: kube-system
  annotations:
    scheduler.alpha.kubernetes.io/critical-pod: ''
    seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
  labels:
    k8s-app: gcp-lb-controller
    version: v1.1.1
    kubernetes.io/name: "GLBC"
spec:
  terminationGracePeriodSeconds: 600
  hostNetwork: true
  containers:
  - image: k8s.gcr.io/ingress-gce-glbc-amd64:v1.1.1
    livenessProbe:
      httpGet:
        path: /healthz
        port: 8086
        scheme: HTTP
      initialDelaySeconds: 30
      # healthz reaches out to GCE
      periodSeconds: 30
      timeoutSeconds: 15
      successThreshold: 1
      failureThreshold: 5
    name: l7-lb-controller
    volumeMounts:
    - mountPath: /etc/gce.conf
      name: cloudconfig
      readOnly: true
    - mountPath: /var/log/glbc.log
      name: logfile
      readOnly: false
    resources:
      # Request is set to accommodate this pod alongside the other
      # master components on a single core master.
      # TODO: Make resource requirements depend on the size of the cluster
      requests:
        cpu: 10m
        memory: 50Mi
    command:
    # TODO: split this out into args when we no longer need to pipe stdout to a file #6428
    - sh
    - -c
    - 'exec /glbc --gce-ratelimit=ga.Operations.Get,qps,10,100 --gce-ratelimit=alpha.Operations.Get,qps,10,100 --gce-ratelimit=ga.BackendServices.Get,qps,1.8,1 --gce-ratelimit=ga.HealthChecks.Get,qps,1.8,1 --gce-ratelimit=alpha.HealthChecks.Get,qps,1.8,1 --verbose --apiserver-host=http://localhost:8080 --default-backend-service=kube-system/default-http-backend --sync-period=600s --running-in-cluster=false --use-real-cloud=true --config-file-path=/etc/gce.conf --healthz-port=8086 1>>/var/log/glbc.log 2>&1'
  volumes:
  - hostPath:
      path: /etc/gce.conf
      type: FileOrCreate
    name: cloudconfig
  - hostPath:
      path: /var/log/glbc.log
      type: FileOrCreate
    name: logfile