apiVersion: v1 kind: Pod metadata: name: kube-controller-manager namespace: kube-system labels: k8s-app: kube-controller spec: hostNetwork: true containers: - name: kube-controller-manager image: {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} command: - /hyperkube - controller-manager - --master={{ kube_apiserver_endpoint }} - --leader-elect=true - --service-account-private-key-file={{ kube_cert_dir }}/apiserver-key.pem - --root-ca-file={{ kube_cert_dir }}/ca.pem - --enable-hostpath-provisioner={{ kube_hostpath_dynamic_provisioner }} - --v={{ kube_log_level | default('2') }} {% if cloud_provider is defined and cloud_provider == "openstack" %} - --cloud-provider={{cloud_provider}} - --cloud-config={{ kube_config_dir }}/cloud_config {% elif cloud_provider is defined and cloud_provider == "aws" %} - --cloud-provider={{cloud_provider}} {% endif %} livenessProbe: httpGet: host: 127.0.0.1 path: /healthz port: 10252 initialDelaySeconds: 30 timeoutSeconds: 10 volumeMounts: - mountPath: {{ kube_cert_dir }} name: ssl-certs-kubernetes readOnly: true {% if cloud_provider is defined and cloud_provider == "openstack" %} - mountPath: {{ kube_config_dir }}/cloud_config name: cloudconfig readOnly: true {% endif %} volumes: - hostPath: path: {{ kube_cert_dir }} name: ssl-certs-kubernetes {% if cloud_provider is defined and cloud_provider == "openstack" %} - hostPath: path: {{ kube_config_dir }}/cloud_config name: cloudconfig {% endif %}