ansible-role-kubernetes/tasks/install_server.yml
Adrien Reslinger d4dac488f9
Some checks failed
continuous-integration/drone/push Build is failing
Update role
2022-10-27 23:38:04 +02:00

115 lines
3.1 KiB
YAML

---
- name: Include vars for not taint Kubernetes masters
ansible.builtin.include_vars: masters.yml
when:
- kubernetes_master|bool
- not kubernetes_master_taint|bool
- name: Add master to KubernetesMasters_ClusterName group
ansible.builtin.group_by:
key: KubernetesMasters_{{ kubernetes_cluster_name }}
check_mode: false
when:
- "'KubernetesMasters' in group_names"
- name: Add node to KubernetesNodes_ClusterName group
ansible.builtin.group_by:
key: KubernetesNodes_{{ kubernetes_cluster_name }}
check_mode: false
when:
- "'KubernetesNodes' in group_names"
- name: Disable SWAP since kubernetes can't work with swap enabled (1/2)
ansible.builtin.command: swapoff -a
changed_when: false
- name: Remove swapfile from /etc/fstab (2/2)
ansible.posix.mount:
name: swap
fstype: swap
state: absent
- name: Create a thin pool for kubernetes
community.general.lvol:
vg: vg_sys
thinpool: kubernetes
size: "{{ lv_kubernetes_size | default('20g') }}"
## Install API loadbalancer
# - ansible.builtin.include_tasks: "load_balancer.yml"
# when:
# - kubernetes_master|bool
# - groups['KubernetesMasters'] | length > 1
- name: Kubernetes cluster with kubeadm
ansible.builtin.include_tasks: "cluster_kubeadm.yml"
when:
- kubernetes_cri != "k3s"
- name: Kubernetes cluster with k3s
ansible.builtin.include_tasks: "cluster_k3s.yml"
when:
- kubernetes_cri == "k3s"
#
# At this point, we have a kubernetes up and running, but ready for it
#
- name: Make /root/.kube directory
ansible.builtin.file:
path: "/root/.kube"
owner: root
group: root
mode: 0700
state: directory
when:
- kubernetes_master|bool
- name: Copy kubeconfig file from /etc/kubernetes/admin.conf
ansible.builtin.copy:
src: "/etc/kubernetes/admin.conf"
dest: /root/.kube/config
remote_src: true
owner: root
group: root
mode: 0600
when:
- kubernetes_master|bool
- kubernetes_cri != "k3s"
- name: Copy kubeconfig file from /etc/rancher/k3s/k3s.yaml
ansible.builtin.copy:
src: "/etc/rancher/k3s/k3s.yaml"
dest: /root/.kube/config
remote_src: true
owner: root
group: root
mode: 0600
when:
- kubernetes_master|bool
- kubernetes_cri == "k3s"
#
# Manque autoconfig de .kube/config local
#
# - name: Fetching CA certificat
# ansible.builtin.copy:
# src: /etc/kubernetes/pki/ca.crt
# dest: /root/.kube/{{ kubernetes_cluster_name }}/ca.crt
# when:
# - kubernetes_master|bigip_pool
- name: Check if a node is still tainted
ansible.builtin.command: kubectl --kubeconfig=/etc/kubernetes/admin.conf get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
register: current_taint
check_mode: false
when:
- kubernetes_master_taint|bool
- name: Taint the machine if needed
# ansible.builtin.command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master-
ansible.builtin.command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes '{{ ansible_hostname | lower }}' node-role.kubernetes.io/master-
when:
- kubernetes_master_taint|bool
- current_taint.stdout