This commit is contained in:
Jayson Grace
2024-01-16 00:02:02 +00:00
committed by GitHub
3 changed files with 43 additions and 27 deletions

View File

@@ -1,18 +1,19 @@
--- ---
- name: Manage K3s HTTP Proxy Configuration
when: proxy_env is defined
block:
- name: Create k3s.service.d directory
ansible.builtin.file:
path: '{{ systemd_dir }}/k3s.service.d'
owner: root
group: root
state: directory
mode: '0755'
- name: Create k3s.service.d directory - name: Deploy the K3s http_proxy configuration file
file: ansible.builtin.template:
path: '{{ systemd_dir }}/k3s.service.d' src: "http_proxy.conf.j2"
state: directory dest: "{{ systemd_dir }}/k3s.service.d/http_proxy.conf"
owner: root owner: root
group: root group: root
mode: '0755' mode: '0755'
- name: Copy K3s http_proxy conf file
template:
src: "http_proxy.conf.j2"
dest: "{{ systemd_dir }}/k3s.service.d/http_proxy.conf"
owner: root
group: root
mode: '0755'

View File

@@ -1,19 +1,31 @@
--- ---
- name: Check for PXE-booted system
block:
- name: Check if system is PXE-booted
ansible.builtin.command:
cmd: cat /proc/cmdline
register: boot_cmdline
changed_when: false
check_mode: false
- name: Deploy K3s http_proxy conf - name: Set fact for PXE-booted system
include_tasks: http_proxy.yml ansible.builtin.set_fact:
when: proxy_env is defined is_pxe_booted: "{{ 'root=/dev/nfs' in boot_cmdline.stdout }}"
when: boot_cmdline.stdout is defined
- name: Copy K3s service file - name: Include http_proxy configuration tasks
template: ansible.builtin.include_tasks: http_proxy.yml
- name: Configure the k3s service
ansible.builtin.template:
src: "k3s.service.j2" src: "k3s.service.j2"
dest: "{{ systemd_dir }}/k3s-node.service" dest: "{{ systemd_dir }}/k3s-node.service"
owner: root owner: root
group: root group: root
mode: 0755 mode: '0755'
- name: Enable and check K3s service - name: Manage k3s service
systemd: ansible.builtin.systemd:
name: k3s-node name: k3s-node
daemon_reload: true daemon_reload: true
state: restarted state: restarted

View File

@@ -7,11 +7,14 @@ After=network-online.target
Type=notify Type=notify
ExecStartPre=-/sbin/modprobe br_netfilter ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s agent --server https://{{ apiserver_endpoint | ansible.utils.ipwrap }}:6443 --token {{ hostvars[groups[group_name_master | default('master')][0]]['token'] | default(k3s_token) }} {{ extra_agent_args | default("") }} # Conditional snapshotter based on PXE boot status
ExecStart=/usr/local/bin/k3s agent \
--server https://{{ apiserver_endpoint | ansible.utils.ipwrap }}:6443 \
{% if is_pxe_booted | default(false) %}--snapshotter native \
{% endif %}--token {{ hostvars[groups[group_name_master | default('master')][0]]['token'] | default(k3s_token) }} \
{{ extra_agent_args | default("") }}
KillMode=process KillMode=process
Delegate=yes Delegate=yes
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=1048576 LimitNOFILE=1048576
LimitNPROC=infinity LimitNPROC=infinity
LimitCORE=infinity LimitCORE=infinity