63 lines
1.5 KiB
YAML
63 lines
1.5 KiB
YAML
- name: Install kube-vip
|
|
ansible.builtin.import_tasks: kube-vip.yaml
|
|
|
|
- name: Initialise Kubernetes cluster
|
|
ansible.builtin.command:
|
|
argv:
|
|
- kubeadm
|
|
- init
|
|
- --pod-network-cidr=172.16.0.0/16
|
|
- --control-plane-endpoint={{ vip_address }}:6443
|
|
- --upload-certs
|
|
args:
|
|
creates: /etc/kubernetes/admin.conf
|
|
run_once: true
|
|
|
|
|
|
- name: Generate Join Command
|
|
ansible.builtin.command:
|
|
argv:
|
|
- kubeadm
|
|
- token
|
|
- create
|
|
- --print-join-command
|
|
register: kubernetes_control_plane_join_command
|
|
run_once: true
|
|
changed_when: true
|
|
|
|
|
|
- name: Get Certificate Key
|
|
ansible.builtin.shell:
|
|
cmd: set -o pipefail && kubeadm init phase upload-certs --upload-certs | tail -n 1
|
|
register: kubernetes_control_plane_certificate_key
|
|
run_once: true
|
|
changed_when: true
|
|
|
|
|
|
- name: Join Additional Control Planes
|
|
ansible.builtin.command:
|
|
cmd: "{{ kubernetes_control_plane_join_command.stdout }} --control-plane --certificate-key {{ kubernetes_control_plane_certificate_key.stdout }}"
|
|
args:
|
|
creates: /etc/kubernetes/admin.conf
|
|
|
|
- name: Copy Kubernetes Admin Config
|
|
ansible.builtin.command: "{{ item }}"
|
|
loop:
|
|
- mkdir -p $HOME/.kube
|
|
- cp /etc/kubernetes/admin.conf $HOME/.kube/config
|
|
- chown $(id -u):$(id -g) $HOME/.kube/config
|
|
args:
|
|
creates: $HOME/.kube/config
|
|
|
|
- name: Install Kubernetes CLI
|
|
ansible.builtin.apt:
|
|
pkg:
|
|
- kubectl
|
|
state: present
|
|
|
|
- name: Install Helm
|
|
ansible.builtin.import_tasks: helm.yaml
|
|
|
|
- name: Install Cilium CNI
|
|
ansible.builtin.import_tasks: cilium.yaml
|