33 lines
1.1 KiB
YAML
33 lines
1.1 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 }}
|
|
when: kubernetes_join_command_result.stdout is defined
|
|
delegate_to: "{{ item }}"
|
|
delegate_facts: true
|
|
with_items: "{{ groups['all'] }}"
|