MetalLB: fail if kube_proxy_strict_arp is false (#5180)

When using IPVS, kube_proxy_strict_arp = true is required
https://github.com/danderson/metallb/issues/153#issuecomment-518651132

Add kube_proxy_strict_arp to inventory/sample
This commit is contained in:
Etienne Champetier 2019-09-26 04:21:06 -07:00 committed by Kubernetes Prow Robot
parent 3bcdf46937
commit 81cb302399
3 changed files with 11 additions and 0 deletions

View file

@ -1,4 +1,9 @@
--- ---
- name: "Kubernetes Apps | Check cluster settings for MetalLB"
fail:
msg: "MetalLB require kube_proxy_strict_arp = true, see https://github.com/danderson/metallb/issues/153#issuecomment-518651132"
when:
- "kube_proxy_mode == 'ipvs' and not kube_proxy_strict_arp"
- name: "Kubernetes Apps | Lay Down MetalLB" - name: "Kubernetes Apps | Lay Down MetalLB"
become: true become: true
template: { src: "{{ item }}.j2", dest: "{{ kube_config_dir }}/{{ item }}" } template: { src: "{{ item }}.j2", dest: "{{ kube_config_dir }}/{{ item }}" }

View file

@ -101,6 +101,10 @@ kube_apiserver_insecure_port: 0 # (disabled)
# Can be ipvs, iptables # Can be ipvs, iptables
kube_proxy_mode: ipvs kube_proxy_mode: ipvs
# configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface
# must be set to true for MetalLB to work
kube_proxy_strict_arp: false
# A string slice of values which specify the addresses to use for NodePorts. # A string slice of values which specify the addresses to use for NodePorts.
# Values may be valid IP blocks (e.g. 1.2.3.0/24, 1.2.3.4/32). # Values may be valid IP blocks (e.g. 1.2.3.0/24, 1.2.3.4/32).
# The default empty string slice ([]) means to use all local addresses. # The default empty string slice ([]) means to use all local addresses.

View file

@ -80,6 +80,8 @@ kube_proxy_exclude_cidrs: []
# nq: never queue # nq: never queue
kube_proxy_scheduler: rr kube_proxy_scheduler: rr
# configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface
# must be set to true for MetalLB to work
kube_proxy_strict_arp: false kube_proxy_strict_arp: false
# The IP address and port for the metrics server to serve on # The IP address and port for the metrics server to serve on