104 lines
2.7 KiB
YAML
104 lines
2.7 KiB
YAML
---
|
|
- name: Install Containerd
|
|
include_role:
|
|
name: containerd
|
|
when:
|
|
- kubernetes_cri == "containerd"
|
|
#register: kubernetes_cri_changed
|
|
|
|
#- name: Restart kubelet after kubernetes cri installation
|
|
# service:
|
|
# name: kubelet
|
|
# status: restarted
|
|
# when:
|
|
# - kubernetes_cri_changed is changed
|
|
|
|
- name: Remove swapfile from /etc/fstab
|
|
mount:
|
|
name: swap
|
|
fstype: swap
|
|
state: absent
|
|
|
|
- name: Ensuring /etc/systemd/system/kubelet.service.d Folder Exists
|
|
file:
|
|
path: "/etc/systemd/system/kubelet.service.d"
|
|
state: "directory"
|
|
group: root
|
|
owner: root
|
|
mode: 0755
|
|
|
|
- name: Configure kubelet service
|
|
template:
|
|
src: "etc/{{ item }}.j2"
|
|
dest: "/etc/{{ item }}"
|
|
group: root
|
|
owner: root
|
|
mode: 0644
|
|
with_items:
|
|
- "systemd/system/kubelet.service.d/0-containerd.conf"
|
|
- "sysconfig/kubelet"
|
|
|
|
- name: Enable kubelet on boot
|
|
service: name=kubelet state=started enabled=yes
|
|
|
|
- stat: path=/etc/kubernetes/admin.conf
|
|
register: st
|
|
changed_when: False
|
|
|
|
- name: Create KubernetesMasterConfigured group
|
|
group_by: key=KubernetesMasterConfigured
|
|
when:
|
|
- st.stat.exists
|
|
|
|
- include_tasks: "init_cluster.yml"
|
|
when:
|
|
- groups['KubernetesMasterConfigured'] is not defined
|
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
|
|
|
# Install API loadbalancer
|
|
- include_tasks: "load_balancer.yml"
|
|
when:
|
|
- kubernetes_master is true
|
|
- groups['KubernetesMaster'] | length > 1
|
|
|
|
# Prepare first master for extend procedure
|
|
- include_tasks: "prepare_first_master.yml"
|
|
when:
|
|
- groups['KubernetesMasterConfigured'][0] == ansible_hostname
|
|
- groups['KubernetesMasterConfigured'] | length == 1 # to be tested (potential syntax error)
|
|
- groups['KubernetesMaster'] | length > 1
|
|
|
|
- stat: path=/etc/kubernetes/admin.conf
|
|
register: st
|
|
changed_when: False
|
|
|
|
- name: Create KubernetesMasterConfigured group
|
|
group_by: key=KubernetesMasterConfigured
|
|
when:
|
|
- st.stat.exists
|
|
|
|
- name: Extend Master services on unconfigured hosts
|
|
include_tasks: "add_master.yml"
|
|
when:
|
|
- groups['KubernetesMaster'] | length > 1
|
|
|
|
#- name: Check if a node is still tainted
|
|
# command: kubectl get nodes '{{ ansible_host }}' -o jsonpath='{.spec.taints}'
|
|
# when: taint_master
|
|
# register: current_taint
|
|
# tags: taint
|
|
#
|
|
#- name: taint the machine if needed
|
|
# command: kubectl taint nodes --all node-role.kubernetes.io/master-
|
|
# when: taint_master == true and current_taint.stdout
|
|
# tags: taint
|
|
|
|
#
|
|
# At this point, we have a kubernetes up and running, but ready for it
|
|
#
|
|
|
|
- name: Make /root/.kube directory
|
|
file: path="/root/.kube" owner=root group=root mode=0700 state=directory
|
|
|
|
- name: Copy certificat file on
|
|
copy: src=/etc/kubernetes/admin.conf dest=/root/.kube/config remote_src=yes owner=root group=root mode=0600
|