ansible-garage-kluster/install-k3s-playbook.yaml

62 lines
2.1 KiB
YAML

- name: Enable cgroups
become: true
hosts: pies
tasks:
- name: Ping hosts
ansible.builtin.ping:
- name: Check if cgroups are enabled
command: cat /boot/firmware/cmdline.txt
register: cmdlineContent
- name: Enable cgroups
command: sed -i -e 's/$/ cgroup_memory=1 cgroup_enable=memory/' /boot/firmware/cmdline.txt
when: "'cgroup_memory=1 cgroup_enable=memory' not in cmdlineContent.stdout"
notify:
- Restart pi
handlers:
- name: Restart pi
ansible.builtin.reboot:
- name: Install k3s bootstrap server
become: true
hosts: Master
tasks:
- name: Ping host
ansible.builtin.ping:
- name: Install k3s bootstrap server
shell: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION={{ k3s_version }} K3S_NODE_NAME={{ inventory_hostname }} K3S_KUBECONFIG_MODE="644" sh -s - server --cluster-init
- name: Extract K3S_TOKEN from server output
command: cat /var/lib/rancher/k3s/server/node-token
register: k3s_token
failed_when: k3s_token is failed or k3s_token.stdout is undefined
- name: Set K3S_TOKEN as a fact
set_fact:
k3s_token: "{{ k3s_token.stdout }}"
- name: Install k3s servers
become: true
hosts: masters
tasks:
- name: Ping hosts
ansible.builtin.ping:
- name: Install k3s servers
shell: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION={{ k3s_version }} K3S_URL=https://{{ hostvars['master']['ansible_default_ipv4'].address }}:6443 K3S_TOKEN={{ hostvars['master']['k3s_token'] }} K3S_NODE_NAME={{ inventory_hostname }} sh -s - server
- name: Install k3s workers
become: true
hosts: workers
tasks:
- name: Ping hosts
ansible.builtin.ping:
- name: Install k3s workers
shell: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION={{ k3s_version }} K3S_URL=https://{{ hostvars['master']['ansible_default_ipv4'].address }}:6443 K3S_TOKEN={{ hostvars['master']['k3s_token'] }} K3S_NODE_NAME={{ inventory_hostname }} sh -
- name: Fetch k3s kubeconfig
become: true
hosts: Master
tasks:
- name: Fetch kubeconfig
fetch:
src: /etc/rancher/k3s/k3s.yaml
dest: k3sconfig
flat: true