install_heapster.yaml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ---
  2. - command: >
  3. {{ openshift.common.client_binary }} -n {{ openshift_metrics_project | quote }}
  4. --config={{ mktemp.stdout }}/admin.kubeconfig
  5. get rc heapster -o jsonpath='{.spec.replicas}'
  6. register: heapster_replica_count
  7. failed_when: false
  8. changed_when: no
  9. - name: Generate heapster replication controller
  10. template: src=heapster.j2 dest={{mktemp.stdout}}/templates/metrics-heapster-rc.yaml
  11. vars:
  12. replica_count: "{{heapster_replica_count.stdout | default(0)}}"
  13. node_selector: "{{openshift_metrics_heapster_nodeselector | default('') }}"
  14. changed_when: no
  15. - set_fact:
  16. heapster_sa_secrets: ["heapster-secrets"]
  17. - set_fact:
  18. heapster_sa_secrets: "{{ heapster_sa_secrets + [item] }}"
  19. with_items:
  20. - hawkular-metrics-certificate
  21. - hawkular-metrics-account
  22. when: "not {{ openshift_metrics_heapster_standalone | bool }}"
  23. - name: Generating serviceaccount for heapster
  24. template: src=serviceaccount.j2 dest={{mktemp.stdout}}/templates/metrics-{{obj_name}}-sa.yaml
  25. vars:
  26. obj_name: heapster
  27. labels:
  28. metrics-infra: support
  29. secrets: "{{ heapster_sa_secrets }}"
  30. changed_when: no
  31. - name: Generate service for heapster
  32. template: src=service.j2 dest={{mktemp.stdout}}/templates/metrics-{{obj_name}}-svc.yaml
  33. vars:
  34. obj_name: heapster
  35. ports:
  36. - {port: 80, targetPort: http-endpoint}
  37. selector:
  38. name: "{{obj_name}}"
  39. labels:
  40. metrics-infra: "{{obj_name}}"
  41. name: "{{obj_name}}"
  42. changed_when: no
  43. - name: generate cluster-reader role binding for the heapster service account
  44. template:
  45. src: rolebinding.j2
  46. dest: "{{ mktemp.stdout }}/templates/heapster-rolebinding.yaml"
  47. vars:
  48. cluster: True
  49. obj_name: heapster-cluster-reader
  50. labels:
  51. metrics-infra: heapster
  52. roleRef:
  53. kind: ClusterRole
  54. name: cluster-reader
  55. subjects:
  56. - kind: ServiceAccount
  57. name: heapster
  58. namespace: "{{ openshift_metrics_project }}"
  59. changed_when: no
  60. - include: generate_heapster_certificates.yaml