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.

53 lines
1.7 KiB

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