You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.5 KiB

  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4. name: kube-controller-manager
  5. namespace: kube-system
  6. spec:
  7. hostNetwork: true
  8. containers:
  9. - name: kube-controller-manager
  10. image: {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }}
  11. command:
  12. - /hyperkube
  13. - controller-manager
  14. - --master={{ kube_apiserver_endpoint }}
  15. - --leader-elect=true
  16. - --service-account-private-key-file={{ kube_cert_dir }}/apiserver-key.pem
  17. - --root-ca-file={{ kube_cert_dir }}/ca.pem
  18. - --enable-hostpath-provisioner={{ kube_hostpath_dynamic_provisioner }}
  19. - --v={{ kube_log_level | default('2') }}
  20. {% if cloud_provider is defined and cloud_provider == "openstack"%}
  21. - --cloud-provider={{cloud_provider}}
  22. - --cloud-config={{ kube_config_dir }}/cloud_config
  23. {% elif cloud_provider is defined %}
  24. - --cloud-provider={{cloud_provider}}
  25. {% endif %}
  26. livenessProbe:
  27. httpGet:
  28. host: 127.0.0.1
  29. path: /healthz
  30. port: 10252
  31. initialDelaySeconds: 30
  32. timeoutSeconds: 10
  33. volumeMounts:
  34. - mountPath: {{ kube_cert_dir }}
  35. name: ssl-certs-kubernetes
  36. readOnly: true
  37. {% if cloud_provider is defined and cloud_provider == "openstack" %}
  38. - mountPath: {{ kube_config_dir }}/cloud_config
  39. name: cloudconfig
  40. readOnly: true
  41. {% endif %}
  42. volumes:
  43. - hostPath:
  44. path: {{ kube_cert_dir }}
  45. name: ssl-certs-kubernetes
  46. {% if cloud_provider is defined and cloud_provider == "openstack" %}
  47. - hostPath:
  48. path: {{ kube_config_dir }}/cloud_config
  49. name: cloudconfig
  50. {% endif %}