With the kube_vip_bgp_peers it is possible to define
multiple BGP peer ASN & address pairs for kube-vip.
Sample:
```
kube_vip_bgp_peers:
- peer_address: 192.168.128.10
peer_asn: 64512
- peer_address: 192.168.128.11
peer_asn: 64512
- peer_address: 192.168.128.12
peer_asn: 64512
```
It is possible to merge further lists with kube_vip_bgp_peers__*
parameters.
Sample:
```
kube_vip_bgp_peers__extra:
- peer_address: 192.168.128.10
peer_asn: 64512
kube_vip_bgp_peers:
- peer_address: 192.168.128.11
peer_asn: 64512
- peer_address: 192.168.128.12
peer_asn: 64512
```
This will result in the following list of BGP peer ASN & address pairs:
```
- peer_address: 192.168.128.10
peer_asn: 64512
- peer_address: 192.168.128.11
peer_asn: 64512
- peer_address: 192.168.128.12
peer_asn: 64512
```
Signed-off-by: Christian Berendt <berendt@osism.tech>
Co-authored-by: Techno Tim <timothystewart6@gmail.com>
32 lines
1.2 KiB
YAML
32 lines
1.2 KiB
YAML
---
|
|
- name: Set _kube_vip_bgp_peers fact
|
|
ansible.builtin.set_fact:
|
|
_kube_vip_bgp_peers: "{{ lookup('community.general.merge_variables', '^kube_vip_bgp_peers__.+$', initial_value=kube_vip_bgp_peers, groups=kube_vip_bgp_peers_groups) }}" # yamllint disable-line rule:line-length
|
|
|
|
- name: Create manifests directory on first master
|
|
ansible.builtin.file:
|
|
path: /var/lib/rancher/k3s/server/manifests
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
when: ansible_hostname == hostvars[groups[group_name_master | default('master')][0]]['ansible_hostname']
|
|
|
|
- name: Download vip rbac manifest to first master
|
|
ansible.builtin.get_url:
|
|
url: https://kube-vip.io/manifests/rbac.yaml
|
|
dest: /var/lib/rancher/k3s/server/manifests/vip-rbac.yaml
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
when: ansible_hostname == hostvars[groups[group_name_master | default('master')][0]]['ansible_hostname']
|
|
|
|
- name: Copy vip manifest to first master
|
|
ansible.builtin.template:
|
|
src: vip.yaml.j2
|
|
dest: /var/lib/rancher/k3s/server/manifests/vip.yaml
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
when: ansible_hostname == hostvars[groups[group_name_master | default('master')][0]]['ansible_hostname']
|