41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
---
|
|
- name: Pre-pull Kubernetes images
|
|
command: kubeadm config images pull
|
|
|
|
- name: Initialize Kubernetes Control Plane
|
|
command: kubeadm init --pod-network-cidr=10.244.0.0/16
|
|
args:
|
|
creates: /etc/kubernetes/admin.conf
|
|
register: kubeadm_init
|
|
|
|
- name: Create .kube directory
|
|
file:
|
|
path: /home/{{ ansible_user }}/.kube
|
|
state: directory
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
mode: 0755
|
|
|
|
- name: Copy admin.conf to user's kube config
|
|
copy:
|
|
src: /etc/kubernetes/admin.conf
|
|
dest: /home/{{ ansible_user }}/.kube/config
|
|
remote_src: yes
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
|
|
- name: Install Flannel Pod Network
|
|
command: kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
when: kubeadm_init.changed
|
|
|
|
- name: Get join command
|
|
command: kubeadm token create --print-join-command
|
|
register: join_command_raw
|
|
|
|
- name: Add dummy host with variable
|
|
add_host:
|
|
name: "K8S_TOKEN_HOLDER"
|
|
join_command: "{{ join_command_raw.stdout_lines[0] }}"
|