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.

87 lines
2.5 KiB

9 years ago
  1. ---
  2. - name: get the node token values from token files
  3. slurp:
  4. src: "{{ kube_token_dir }}/{{ item }}-{{ inventory_hostname }}.token"
  5. with_items:
  6. - "system:controller_manager"
  7. - "system:scheduler"
  8. - "system:kubectl"
  9. - "system:proxy"
  10. register: tokens
  11. delegate_to: "{{ groups['kube-master'][0] }}"
  12. - name: Set token facts
  13. set_fact:
  14. controller_manager_token: "{{ tokens.results[0].content|b64decode }}"
  15. scheduler_token: "{{ tokens.results[1].content|b64decode }}"
  16. kubectl_token: "{{ tokens.results[2].content|b64decode }}"
  17. proxy_token: "{{ tokens.results[3].content|b64decode }}"
  18. - name: write the config files for api server
  19. template: src=apiserver.j2 dest={{ kube_config_dir }}/apiserver
  20. notify:
  21. - restart daemons
  22. - name: write config file for controller-manager
  23. template: src=controller-manager.j2 dest={{ kube_config_dir }}/controller-manager
  24. notify:
  25. - restart controller-manager
  26. - name: write the kubecfg (auth) file for controller-manager
  27. template: src=controller-manager.kubeconfig.j2 dest={{ kube_config_dir }}/controller-manager.kubeconfig
  28. notify:
  29. - restart controller-manager
  30. - name: write the config file for scheduler
  31. template: src=scheduler.j2 dest={{ kube_config_dir }}/scheduler
  32. notify:
  33. - restart scheduler
  34. - name: write the kubecfg (auth) file for scheduler
  35. template: src=scheduler.kubeconfig.j2 dest={{ kube_config_dir }}/scheduler.kubeconfig
  36. notify:
  37. - restart scheduler
  38. - name: write the kubecfg (auth) file for kubectl
  39. template: src=kubectl.kubeconfig.j2 dest={{ kube_config_dir }}/kubectl.kubeconfig
  40. - name: write the config files for proxy
  41. template: src=proxy.j2 dest={{ kube_config_dir }}/proxy
  42. notify:
  43. - restart daemons
  44. - name: write the kubecfg (auth) file for proxy
  45. template: src=proxy.kubeconfig.j2 dest={{ kube_config_dir }}/proxy.kubeconfig
  46. - name: populate users for basic auth in API
  47. lineinfile:
  48. dest: "{{ kube_users_dir }}/known_users.csv"
  49. create: yes
  50. line: '{{ item.value.pass }},{{ item.key }},{{ item.value.role }}'
  51. with_dict: "{{ kube_users }}"
  52. notify:
  53. - restart apiserver
  54. - name: Enable apiserver
  55. service:
  56. name: kube-apiserver
  57. enabled: yes
  58. state: started
  59. - name: Enable controller-manager
  60. service:
  61. name: kube-controller-manager
  62. enabled: yes
  63. state: started
  64. - name: Enable scheduler
  65. service:
  66. name: kube-scheduler
  67. enabled: yes
  68. state: started
  69. - name: Enable kube-proxy
  70. service:
  71. name: kube-proxy
  72. enabled: yes
  73. state: started