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.

92 lines
3.4 KiB

  1. ---
  2. apiVersion: apps/v1
  3. kind: DaemonSet
  4. metadata:
  5. name: hcloud-cloud-controller-manager
  6. namespace: kube-system
  7. labels:
  8. k8s-app: hcloud-cloud-controller-manger
  9. spec:
  10. selector:
  11. matchLabels:
  12. app: hcloud-cloud-controller-manager
  13. updateStrategy:
  14. type: RollingUpdate
  15. template:
  16. metadata:
  17. labels:
  18. app: hcloud-cloud-controller-manager
  19. annotations:
  20. scheduler.alpha.kubernetes.io/critical-pod: ''
  21. spec:
  22. serviceAccountName: {{ external_hcloud_cloud.service_account_name }}
  23. dnsPolicy: Default
  24. tolerations:
  25. - key: "node.cloudprovider.kubernetes.io/uninitialized"
  26. value: "true"
  27. effect: "NoSchedule"
  28. - key: "CriticalAddonsOnly"
  29. operator: "Exists"
  30. - key: "node-role.kubernetes.io/control-plane"
  31. effect: NoSchedule
  32. - key: "node.kubernetes.io/not-ready"
  33. effect: "NoSchedule"
  34. containers:
  35. - image: {{ docker_image_repo }}/hetznercloud/hcloud-cloud-controller-manager:{{ external_hcloud_cloud.controller_image_tag }}
  36. name: hcloud-cloud-controller-manager
  37. command:
  38. - "/bin/hcloud-cloud-controller-manager"
  39. - "--cloud-provider=hcloud"
  40. - "--leader-elect=false"
  41. - "--allow-untagged-cloud"
  42. {% if external_hcloud_cloud.controller_extra_args is defined %}
  43. args:
  44. {% for key, value in external_hcloud_cloud.controller_extra_args.items() %}
  45. - "{{ '--' + key + '=' + value }}"
  46. {% endfor %}
  47. {% endif %}
  48. resources:
  49. requests:
  50. cpu: 100m
  51. memory: 50Mi
  52. env:
  53. - name: NODE_NAME
  54. valueFrom:
  55. fieldRef:
  56. fieldPath: spec.nodeName
  57. - name: HCLOUD_TOKEN
  58. valueFrom:
  59. secretKeyRef:
  60. name: {{ external_hcloud_cloud.token_secret_name }}
  61. key: token
  62. {% if external_hcloud_cloud.network_name is defined %}
  63. - name: HCLOUD_NETWORK
  64. valueFrom:
  65. secretKeyRef:
  66. name: {{ external_hcloud_cloud.token_secret_name }}
  67. key: network
  68. {% endif %}
  69. {% if external_hcloud_cloud.network_routes_enabled is defined %}
  70. - name: HCLOUD_NETWORK_ROUTES_ENABLED
  71. value: "{{ external_hcloud_cloud.network_routes_enabled }}"
  72. {% endif %}
  73. {% if external_hcloud_cloud.load_balancers_location is defined %}
  74. - name: HCLOUD_LOAD_BALANCERS_LOCATION
  75. value: "{{ external_hcloud_cloud.load_balancers_location }}"
  76. {% endif %}
  77. {% if external_hcloud_cloud.load_balancers_network_zone is defined %}
  78. - name: HCLOUD_LOAD_BALANCERS_NETWORK_ZONE
  79. value: "{{ external_hcloud_cloud.load_balancers_network_zone }}"
  80. {% endif %}
  81. {% if external_hcloud_cloud.load_balancers_disable_private_ingress is defined %}
  82. - name: HCLOUD_LOAD_BALANCERS_DISABLE_PRIVATE_INGRESS
  83. value: "{{ external_hcloud_cloud.load_balancers_disable_private_ingress }}"
  84. {% endif %}
  85. {% if external_hcloud_cloud.load_balancers_use_private_ip is defined %}
  86. - name: HCLOUD_LOAD_BALANCERS_USE_PRIVATE_IP
  87. value: "{{ external_hcloud_cloud.load_balancers_use_private_ip }}"
  88. {% endif %}
  89. {% if external_hcloud_cloud.load_balancers_enabled is defined %}
  90. - name: HCLOUD_LOAD_BALANCERS_ENABLED
  91. value: "{{ external_hcloud_cloud.load_balancers_enabled }}"
  92. {% endif %}