forked from tim/k3s-ansible
➕ Add default values to roles (#509)
* ➕ Add default values to roles * 🚚 Move to use meta files for roles * 🛠 Fix descriptions * ➕ Add meta for server * 🚧 WIP * 🌟 Complete * 🧹 Ran and fix lint errors * 🔨 Fix required and default conflict --------- Co-authored-by: Techno Tim <timothystewart6@gmail.com>
This commit is contained in:
committed by
GitHub
parent
9ce9fecc5b
commit
3a20500f9c
@@ -1,6 +1,28 @@
|
||||
---
|
||||
# Timeout to wait for MetalLB services to come up
|
||||
metal_lb_available_timeout: 240s
|
||||
bpf_lb_algorithm: maglev
|
||||
bpf_lb_mode: hybrid
|
||||
|
||||
# Name of the master group
|
||||
calico_blockSize: 26 # noqa var-naming
|
||||
calico_ebpf: false
|
||||
calico_encapsulation: VXLANCrossSubnet
|
||||
calico_natOutgoing: Enabled # noqa var-naming
|
||||
calico_nodeSelector: all() # noqa var-naming
|
||||
calico_tag: v3.27.2
|
||||
|
||||
cilium_bgp: false
|
||||
cilium_exportPodCIDR: true # noqa var-naming
|
||||
cilium_bgp_my_asn: 64513
|
||||
cilium_bgp_peer_asn: 64512
|
||||
cilium_bgp_lb_cidr: 192.168.31.0/24
|
||||
cilium_hubble: true
|
||||
cilium_mode: native
|
||||
|
||||
cluster_cidr: 10.52.0.0/16
|
||||
enable_bpf_masquerade: true
|
||||
kube_proxy_replacement: true
|
||||
group_name_master: master
|
||||
|
||||
metal_lb_mode: layer2
|
||||
metal_lb_available_timeout: 240s
|
||||
metal_lb_controller_tag_version: v0.14.3
|
||||
metal_lb_ip_range: 192.168.30.80-192.168.30.90
|
||||
|
||||
145
roles/k3s_server_post/meta/main.yml
Normal file
145
roles/k3s_server_post/meta/main.yml
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
argument_specs:
|
||||
main:
|
||||
short_description: Configure k3s cluster
|
||||
options:
|
||||
apiserver_endpoint:
|
||||
description: Virtual ip-address configured on each master
|
||||
required: true
|
||||
|
||||
bpf_lb_algorithm:
|
||||
description: BPF lb algorithm
|
||||
default: maglev
|
||||
|
||||
bpf_lb_mode:
|
||||
description: BPF lb mode
|
||||
default: hybrid
|
||||
|
||||
calico_blockSize:
|
||||
description: IP pool block size
|
||||
type: int
|
||||
default: 26
|
||||
|
||||
calico_ebpf:
|
||||
description: Use eBPF dataplane instead of iptables
|
||||
type: bool
|
||||
default: false
|
||||
|
||||
calico_encapsulation:
|
||||
description: IP pool encapsulation
|
||||
default: VXLANCrossSubnet
|
||||
|
||||
calico_natOutgoing:
|
||||
description: IP pool NAT outgoing
|
||||
default: Enabled
|
||||
|
||||
calico_nodeSelector:
|
||||
description: IP pool node selector
|
||||
default: all()
|
||||
|
||||
calico_iface:
|
||||
description: The network interface used for when Calico is enabled
|
||||
default: ~
|
||||
|
||||
calico_tag:
|
||||
description: Calico version tag
|
||||
default: v3.27.2
|
||||
|
||||
cilium_bgp:
|
||||
description:
|
||||
- Enable cilium BGP control plane for LB services and pod cidrs.
|
||||
- Disables the use of MetalLB.
|
||||
type: bool
|
||||
default: false
|
||||
|
||||
cilium_bgp_my_asn:
|
||||
description: Local ASN for BGP peer
|
||||
type: int
|
||||
default: 64513
|
||||
|
||||
cilium_bgp_peer_asn:
|
||||
description: BGP peer ASN
|
||||
type: int
|
||||
default: 64512
|
||||
|
||||
cilium_bgp_peer_address:
|
||||
description: BGP peer address
|
||||
default: ~
|
||||
|
||||
cilium_bgp_lb_cidr:
|
||||
description: BGP load balancer IP range
|
||||
default: 192.168.31.0/24
|
||||
|
||||
cilium_exportPodCIDR:
|
||||
description: Export pod CIDR
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
cilium_hubble:
|
||||
description: Enable Cilium Hubble
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
cilium_iface:
|
||||
description: The network interface used for when Cilium is enabled
|
||||
default: ~
|
||||
|
||||
cilium_mode:
|
||||
description: Inner-node communication mode
|
||||
default: native
|
||||
choices:
|
||||
- native
|
||||
- routed
|
||||
|
||||
cluster_cidr:
|
||||
description: Inner-cluster IP range
|
||||
default: 10.52.0.0/16
|
||||
|
||||
enable_bpf_masquerade:
|
||||
description: Use IP masquerading
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
group_name_master:
|
||||
description: Name of the master group
|
||||
default: master
|
||||
|
||||
kube_proxy_replacement:
|
||||
description: Replace the native kube-proxy with Cilium
|
||||
type: bool
|
||||
default: true
|
||||
|
||||
kube_vip_lb_ip_range:
|
||||
description: IP range for kube-vip load balancer
|
||||
default: ~
|
||||
|
||||
metal_lb_available_timeout:
|
||||
description: Wait for MetalLB resources
|
||||
default: 240s
|
||||
|
||||
metal_lb_ip_range:
|
||||
description: MetalLB ip range for load balancer
|
||||
default: 192.168.30.80-192.168.30.90
|
||||
|
||||
metal_lb_controller_tag_version:
|
||||
description: Image tag for MetalLB
|
||||
default: v0.14.3
|
||||
|
||||
metal_lb_mode:
|
||||
description: Metallb mode
|
||||
default: layer2
|
||||
choices:
|
||||
- bgp
|
||||
- layer2
|
||||
|
||||
metal_lb_bgp_my_asn:
|
||||
description: BGP ASN configurations
|
||||
default: ~
|
||||
|
||||
metal_lb_bgp_peer_asn:
|
||||
description: BGP peer ASN configurations
|
||||
default: ~
|
||||
|
||||
metal_lb_bgp_peer_address:
|
||||
description: BGP peer address
|
||||
default: ~
|
||||
@@ -172,17 +172,17 @@
|
||||
{% endif %}
|
||||
--helm-set k8sServiceHost="127.0.0.1"
|
||||
--helm-set k8sServicePort="6444"
|
||||
--helm-set routingMode={{ cilium_mode | default("native") }}
|
||||
--helm-set routingMode={{ cilium_mode }}
|
||||
--helm-set autoDirectNodeRoutes={{ "true" if cilium_mode == "native" else "false" }}
|
||||
--helm-set kubeProxyReplacement={{ kube_proxy_replacement | default("true") }}
|
||||
--helm-set bpf.masquerade={{ enable_bpf_masquerade | default("true") }}
|
||||
--helm-set kubeProxyReplacement={{ kube_proxy_replacement }}
|
||||
--helm-set bpf.masquerade={{ enable_bpf_masquerade }}
|
||||
--helm-set bgpControlPlane.enabled={{ cilium_bgp | default("false") }}
|
||||
--helm-set hubble.enabled={{ "true" if cilium_hubble else "false" }}
|
||||
--helm-set hubble.relay.enabled={{ "true" if cilium_hubble else "false" }}
|
||||
--helm-set hubble.ui.enabled={{ "true" if cilium_hubble else "false" }}
|
||||
{% if kube_proxy_replacement is not false %}
|
||||
--helm-set bpf.loadBalancer.algorithm={{ bpf_lb_algorithm | default("maglev") }}
|
||||
--helm-set bpf.loadBalancer.mode={{ bpf_lb_mode | default("hybrid") }}
|
||||
--helm-set bpf.loadBalancer.algorithm={{ bpf_lb_algorithm }}
|
||||
--helm-set bpf.loadBalancer.mode={{ bpf_lb_mode }}
|
||||
{% endif %}
|
||||
environment:
|
||||
KUBECONFIG: "{{ ansible_user_dir }}/.kube/config"
|
||||
|
||||
@@ -9,11 +9,11 @@ spec:
|
||||
calicoNetwork:
|
||||
# Note: The ipPools section cannot be modified post-install.
|
||||
ipPools:
|
||||
- blockSize: {{ calico_blockSize | default('26') }}
|
||||
cidr: {{ cluster_cidr | default('10.52.0.0/16') }}
|
||||
encapsulation: {{ calico_encapsulation | default('VXLANCrossSubnet') }}
|
||||
natOutgoing: {{ calico_natOutgoing | default('Enabled') }}
|
||||
nodeSelector: {{ calico_nodeSelector | default('all()') }}
|
||||
- blockSize: {{ calico_blockSize }}
|
||||
cidr: {{ cluster_cidr }}
|
||||
encapsulation: {{ calico_encapsulation }}
|
||||
natOutgoing: {{ calico_natOutgoing }}
|
||||
nodeSelector: {{ calico_nodeSelector }}
|
||||
nodeAddressAutodetectionV4:
|
||||
interface: {{ calico_iface }}
|
||||
linuxDataplane: {{ 'BPF' if calico_ebpf else 'Iptables' }}
|
||||
|
||||
Reference in New Issue
Block a user