diff --git a/roles/k3s_server/defaults/main.yml b/roles/k3s_server/defaults/main.yml index f088c96..6ca801a 100644 --- a/roles/k3s_server/defaults/main.yml +++ b/roles/k3s_server/defaults/main.yml @@ -1,12 +1,18 @@ --- -# If you want to explicitly define an interface that ALL control nodes -# should use to propagate the VIP, define it here. Otherwise, kube-vip -# will determine the right interface automatically at runtime. -kube_vip_iface: ~ +extra_server_args: "" -kube_vip_cloud_provider_tag_version: main group_name_master: master +kube_vip_iface: ~ +kube_vip_cloud_provider_tag_version: main +kube_vip_tag_version: v0.7.2 + +metal_lb_controller_tag_version: v0.14.3 +metal_lb_speaker_tag_version: v0.14.3 +metal_lb_type: native + +retry_count: 20 + # yamllint disable rule:line-length server_init_args: >- {% if groups[group_name_master | default('master')] | length > 1 %} @@ -17,6 +23,6 @@ server_init_args: >- {% endif %} --token {{ k3s_token }} {% endif %} - {{ extra_server_args | default('') }} + {{ extra_server_args }} systemd_dir: /etc/systemd/system diff --git a/roles/k3s_server/meta/main.yml b/roles/k3s_server/meta/main.yml index cbe37ea..ea5f151 100644 --- a/roles/k3s_server/meta/main.yml +++ b/roles/k3s_server/meta/main.yml @@ -3,10 +3,41 @@ argument_specs: main: short_description: Setup k3s servers options: + apiserver_endpoint: + description: Virtual ip-address configured on each master + required: true + + cilium_bgp: + description: + - Enable cilium BGP control plane for LB services and pod cidrs. + - Disables the use of MetalLB. + type: bool + default: ~ + + cilium_iface: + description: The network interface used for when Cilium is enabled + default: ~ + + extra_server_args: + description: Extra arguments for server nodes + default: "" + group_name_master: description: Name of the master group default: master + kube_vip_iface: + description: + - Explicitly define an interface that ALL control nodes + - should use to propagate the VIP, define it here. + - Otherwise, kube-vip will determine the right interface + - automatically at runtime. + default: ~ + + kube_vip_tag_version: + description: Image tag for kube-vip + default: v0.7.2 + kube_vip_cloud_provider_tag_version: description: Tag for kube-vip-cloud-provider manifest when enabled default: main @@ -15,11 +46,40 @@ argument_specs: description: IP range for kube-vip load balancer default: ~ + metal_lb_controller_tag_version: + description: Image tag for MetalLB + default: v0.14.3 + + metal_lb_speaker_tag_version: + description: Image tag for MetalLB + default: v0.14.3 + + metal_lb_type: + choices: + - frr + - native + default: native + proxy_env: type: dict description: Internet proxy configurations default: ~ options: HTTP_PROXY: + required: true HTTPS_PROXY: + required: true NO_PROXY: + required: true + + retry_count: + description: Amount of retries when verifying that nodes joined + type: int + default: 20 + + server_init_args: + description: Arguments for server nodes + + systemd_dir: + description: Path to systemd services + default: /etc/systemd/system diff --git a/roles/k3s_server/tasks/http_proxy.yml b/roles/k3s_server/tasks/http_proxy.yml index f0a68f6..7161c3a 100644 --- a/roles/k3s_server/tasks/http_proxy.yml +++ b/roles/k3s_server/tasks/http_proxy.yml @@ -1,5 +1,4 @@ --- - - name: Create k3s.service.d directory file: path: '{{ systemd_dir }}/k3s.service.d' diff --git a/roles/k3s_server/tasks/main.yml b/roles/k3s_server/tasks/main.yml index ae2d8e9..fa74ccd 100644 --- a/roles/k3s_server/tasks/main.yml +++ b/roles/k3s_server/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Stop k3s-init systemd: name: k3s-init