auto-deploy/roles/master/tasks/main.yml

34 lines
1.2 KiB
YAML

- name: Initialize the Kubernetes cluster using kubeadm
command: kubeadm init --apiserver-advertise-address="{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
- name: Creates .kube directory
file:
path: /home/{{ ansible_user_id }}/.kube
state: directory
- name: Copy files needed for kubectl
copy:
remote_src: yes
src: /etc/kubernetes/admin.conf
dest: /home/{{ ansible_user_id }}/.kube/config
owner: "{{ ansible_user_id }}"
group: users
- name: Set up weave network
shell: export KUBECONFIG=/etc/kubernetes/admin.conf && export kubever=$(kubectl version | base64 | tr -d '\n') && kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
register: weavenet_out
- name: Generate join command
command: kubeadm token create --print-join-command
register: kubernetes_join_command_result
- name: Set the kubeadm join command globally.
set_fact:
kubernetes_join_command: >
{{ kubernetes_join_command_result.stdout }}
{{ kubernetes_join_command_extra_opts }}
when: kubernetes_join_command_result.stdout is defined
delegate_to: "{{ item }}"
delegate_facts: true
with_items: "{{ groups['all'] }}"