Add serviceExternalIPs option for calico installation (#6928)
parent
eb16986f32
commit
8a153ed38e
|
@ -93,6 +93,15 @@ This can be enabled by setting the following variable as follow in group_vars (k
|
||||||
calico_advertise_cluster_ips: true
|
calico_advertise_cluster_ips: true
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Since calico 3.10, Calico supports advertising Kubernetes service ExternalIPs over BGP in addition to cluster IPs advertising.
|
||||||
|
This can be enabled by setting the following variable in group_vars (k8s-cluster/k8s-net-calico.yml)
|
||||||
|
|
||||||
|
```yml
|
||||||
|
calico_advertise_service_external_ips:
|
||||||
|
- x.x.x.x/24
|
||||||
|
- y.y.y.y/32
|
||||||
|
```
|
||||||
|
|
||||||
### Optional : Define global AS number
|
### Optional : Define global AS number
|
||||||
|
|
||||||
Optional parameter `global_as_num` defines Calico global AS number (`/calico/bgp/v1/global/as_num` etcd key).
|
Optional parameter `global_as_num` defines Calico global AS number (`/calico/bgp/v1/global/as_num` etcd key).
|
||||||
|
|
|
@ -38,6 +38,11 @@
|
||||||
# Advertise Cluster IPs
|
# Advertise Cluster IPs
|
||||||
# calico_advertise_cluster_ips: true
|
# calico_advertise_cluster_ips: true
|
||||||
|
|
||||||
|
# Advertise Service External IPs
|
||||||
|
# calico_advertise_service_external_ips:
|
||||||
|
# - x.x.x.x/24
|
||||||
|
# - y.y.y.y/32
|
||||||
|
|
||||||
# Choose data store type for calico: "etcd" or "kdd" (kubernetes datastore)
|
# Choose data store type for calico: "etcd" or "kdd" (kubernetes datastore)
|
||||||
# calico_datastore: "etcd"
|
# calico_datastore: "etcd"
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,9 @@ global_as_num: "64512"
|
||||||
# defaults. The value should be a number, not a string.
|
# defaults. The value should be a number, not a string.
|
||||||
# calico_mtu: 1500
|
# calico_mtu: 1500
|
||||||
|
|
||||||
|
# Advertise Service External IPs
|
||||||
|
calico_advertise_service_external_ips: []
|
||||||
|
|
||||||
# Limits for apps
|
# Limits for apps
|
||||||
calico_node_memory_limit: 500M
|
calico_node_memory_limit: 500M
|
||||||
calico_node_cpu_limit: 300m
|
calico_node_cpu_limit: 300m
|
||||||
|
|
|
@ -154,6 +154,12 @@
|
||||||
- inventory_hostname == groups['kube-master'][0]
|
- inventory_hostname == groups['kube-master'][0]
|
||||||
- 'calico_conf.stdout == "0"'
|
- 'calico_conf.stdout == "0"'
|
||||||
|
|
||||||
|
- name: Populate Service External IPs
|
||||||
|
set_fact:
|
||||||
|
_service_external_ips: "{{ _service_external_ips|default([]) + [ {'cidr': item} ] }}"
|
||||||
|
with_items: "{{ calico_advertise_service_external_ips }}"
|
||||||
|
run_once: yes
|
||||||
|
|
||||||
- name: "Determine nodeToNodeMesh needed state"
|
- name: "Determine nodeToNodeMesh needed state"
|
||||||
set_fact:
|
set_fact:
|
||||||
nodeToNodeMeshEnabled: "false"
|
nodeToNodeMeshEnabled: "false"
|
||||||
|
@ -174,6 +180,7 @@
|
||||||
"spec": {
|
"spec": {
|
||||||
"logSeverityScreen": "Info",
|
"logSeverityScreen": "Info",
|
||||||
"nodeToNodeMeshEnabled": {{ nodeToNodeMeshEnabled|default('true') }} ,
|
"nodeToNodeMeshEnabled": {{ nodeToNodeMeshEnabled|default('true') }} ,
|
||||||
|
"serviceExternalIPs": {{ _service_external_ips|default([]) }},
|
||||||
"asNumber": {{ global_as_num }} }}
|
"asNumber": {{ global_as_num }} }}
|
||||||
changed_when: false
|
changed_when: false
|
||||||
when:
|
when:
|
||||||
|
|
Loading…
Reference in New Issue