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.

65 lines
1.9 KiB

  1. ---
  2. - name: Set first kube master
  3. set_fact:
  4. first_kube_master: "{{ hostvars[groups['kube-master'][0]]['access_ip'] | default(hostvars[groups['kube-master'][0]]['ip'] | default(hostvars[groups['kube-master'][0]]['ansible_default_ipv4']['address'])) }}"
  5. - name: Set external kube-apiserver endpoint
  6. set_fact:
  7. external_apiserver_endpoint: >-
  8. {%- if loadbalancer_apiserver is defined and loadbalancer_apiserver.port is defined -%}
  9. https://{{ apiserver_loadbalancer_domain_name|default('lb-apiserver.kubernetes.local') }}:{{ loadbalancer_apiserver.port|default(kube_apiserver_port) }}
  10. {%- else -%}
  11. https://{{ first_kube_master }}:{{ kube_apiserver_port }}
  12. {%- endif -%}
  13. tags:
  14. - facts
  15. - name: Gather certs for admin kubeconfig
  16. slurp:
  17. src: "{{ item }}"
  18. register: admin_certs
  19. with_items:
  20. - "{{ kube_cert_dir }}/ca.pem"
  21. - "{{ kube_cert_dir }}/admin-{{ inventory_hostname }}.pem"
  22. - "{{ kube_cert_dir }}/admin-{{ inventory_hostname }}-key.pem"
  23. when: not kubeadm_enabled|d(false)|bool
  24. - name: Write admin kubeconfig
  25. template:
  26. src: admin.conf.j2
  27. dest: "{{ kube_config_dir }}/admin.conf"
  28. when: not kubeadm_enabled|d(false)|bool
  29. - name: Create kube config dir
  30. file:
  31. path: "/root/.kube"
  32. mode: "0700"
  33. state: directory
  34. - name: Copy admin kubeconfig to root user home
  35. copy:
  36. src: "{{ kube_config_dir }}/admin.conf"
  37. dest: "/root/.kube/config"
  38. remote_src: yes
  39. mode: "0700"
  40. backup: yes
  41. - name: Copy admin kubeconfig to ansible host
  42. fetch:
  43. src: "{{ kube_config_dir }}/admin.conf"
  44. dest: "{{ artifacts_dir }}/admin.conf"
  45. flat: yes
  46. validate_checksum: no
  47. become: no
  48. run_once: yes
  49. when: kubeconfig_localhost|default(false)
  50. - name: Copy kubectl binary to ansible host
  51. fetch:
  52. src: "{{ bin_dir }}/kubectl"
  53. dest: "{{ artifacts_dir }}/kubectl"
  54. flat: yes
  55. validate_checksum: no
  56. become: no
  57. run_once: yes
  58. when: kubectl_localhost|default(false)