62 lines
2.1 KiB
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
|