cluster-autoscaler.j2 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5. labels:
  6. app: {{ openshift_cluster_autoscaler_name }}
  7. name: {{ openshift_cluster_autoscaler_name }}
  8. namespace: {{ openshift_cluster_autoscaler_namespace }}
  9. spec:
  10. replicas: 1
  11. selector:
  12. matchLabels:
  13. app: {{ openshift_cluster_autoscaler_name }}
  14. role: infra
  15. template:
  16. metadata:
  17. labels:
  18. app: {{ openshift_cluster_autoscaler_name }}
  19. role: infra
  20. spec:
  21. containers:
  22. - args:
  23. - /bin/cluster-autoscaler
  24. - --alsologtostderr
  25. - --v={{ openshift_cluster_autoscaler_loglevel }}
  26. - --skip-nodes-with-local-storage={{ openshift_cluster_autoscaler_skip_nodes_local_storage }}
  27. - --leader-elect-resource-lock=configmaps
  28. - --namespace={{ openshift_cluster_autoscaler_namespace }}
  29. {% if openshift_cluster_autoscaler_scale_down_delay is defined %}
  30. - --scale-down-delay={{ openshift_cluster_autoscaler_scale_down_delay }}
  31. {% endif %}
  32. - --cloud-provider={{ openshift_cluster_autoscaler_cloud_provider }}
  33. {% for group in openshift_cluster_autoscaler_node_groups %}
  34. - --nodes={{ group.min }}:{{ group.max }}:{{ group.name }}
  35. {% endfor %}
  36. {% if openshift_cluster_autoscaler_scale_down_delay_after_failure is defined %}
  37. - --scale-down-delay-after-failure={{ openshift_cluster_autoscaler_scale_down_delay_after_failure }}
  38. {% endif %}
  39. {% if openshift_cluster_autoscaler_scale_down_unneeded_timeout is defined %}
  40. - --scale-down-unneeded-time={{ openshift_cluster_autoscaler_scale_down_unneeded_timeout }}
  41. {% endif %}
  42. {% if openshift_cluster_autoscaler_scale_down_delay_after_add is defined %}
  43. - --scale-down-delay-after-add={{ openshift_cluster_autoscaler_scale_down_delay_after_add }}
  44. {% endif %}
  45. {% if openshift_cluster_autoscaler_cloud_provider == 'aws' %}
  46. env: {{ openshift_cluster_autoscaler_aws_env_vars | union(openshift_cluster_autoscaler_env_vars) | to_json }}
  47. {% else %}
  48. env: {{ openshift_cluster_autoscaler_env_vars }}
  49. {% endif %}
  50. image: {{ openshift_cluster_autoscaler_image }}
  51. name: autoscaler
  52. {% if openshift_cluster_autoscaler_cloud_provider == 'aws' %}
  53. volumeMounts:
  54. - mountPath: {{ openshift_cluster_autoscaler_aws_creds_path | dirname }}
  55. name: {{ openshift_cluster_autoscaler_aws_creds_name }}
  56. readOnly: true
  57. {% endif %}
  58. nodeSelector: {{ openshift_cluster_autoscaler_node_selector | to_json }}
  59. dnsPolicy: ClusterFirst
  60. serviceAccountName: {{ openshift_cluster_autoscaler_serviceaccount }}
  61. terminationGracePeriodSeconds: 30
  62. {% if openshift_cluster_autoscaler_cloud_provider == 'aws' %}
  63. volumes:
  64. - name: {{ openshift_cluster_autoscaler_aws_creds_name }}
  65. secret:
  66. defaultMode: 420
  67. secretName: {{ openshift_cluster_autoscaler_aws_secret_name }}
  68. {% endif %}