install_metrics_server.yaml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. ---
  2. - name: Ensure metrics-server namespace is present
  3. oc_project:
  4. state: present
  5. name: "{{ openshift_metrics_server_project }}"
  6. node_selector: ""
  7. - include_tasks: generate_certs_and_apiservice.yaml
  8. - include_tasks: generate_sa_and_rbac.yaml
  9. - include_tasks: generate_svc_and_deployment.yaml
  10. # create objects in the main metrics-server ns
  11. - find:
  12. paths: "{{ mktemp.stdout }}/templates"
  13. patterns: "^metrics-server-.*.yaml"
  14. use_regex: true
  15. register: metrics_server_object_def_files
  16. changed_when: no
  17. - slurp:
  18. src: "{{item.path}}"
  19. register: metrics_server_object_defs
  20. with_items: "{{ metrics_server_object_def_files.files }}"
  21. changed_when: no
  22. - name: Create metrics-server objects
  23. include_tasks: oc_apply.yaml
  24. vars:
  25. kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig"
  26. namespace: "{{ openshift_metrics_server_project }}"
  27. file_name: "{{ item.source }}"
  28. file_content: "{{ item.content | b64decode | from_yaml }}"
  29. with_items: "{{ metrics_server_object_defs.results }}"
  30. # create the extension-apiserver configmap permission rolebinding, which needs to live in kube-system,
  31. # since the actual configmap lives in kube-system
  32. - find:
  33. paths: "{{ mktemp.stdout }}/templates"
  34. patterns: "^extension-apiserver-authentication-reader-metrics-server-rolebinding.yaml"
  35. use_regex: true
  36. register: apiextension_object_def_files
  37. changed_when: no
  38. - slurp:
  39. src: "{{item.path}}"
  40. register: apiextension_object_defs
  41. with_items: "{{ apiextension_object_def_files.files }}"
  42. changed_when: no
  43. - name: Create metrics-server objects that belong in kube-system (extension-apiserver-authentication-reader rolebinding)
  44. include_tasks: oc_apply.yaml
  45. vars:
  46. kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig"
  47. namespace: kube-system
  48. file_name: "{{ item.source }}"
  49. file_content: "{{ item.content | b64decode | from_yaml }}"
  50. with_items: "{{ apiextension_object_defs.results }}"