mirror of https://github.com/k3s-io/k3s
Merge pull request #42638 from jamiehannaford/minion-fip
Automatic merge from submit-queue (batch tested with PRs 41297, 42638, 42666, 43039, 42567) Allow minion floating IPs to be optional **What this PR does / why we need it**: Makes the generation of floating IPs for worker nodes optional, based on an env var. To quote the original issue: > Currently, the OpenStack installation method assigns a floating IP to every single worker node. While this is fine for smaller clusters with a good sized IP pool, it can cause issues in environments with high node counts or less IPs available. **Which issue this PR fixes**: https://github.com/kubernetes/kubernetes/issues/40737 **Special notes for your reviewer**: I used the conditions section of the Heat spec: https://docs.openstack.org/developer/heat/template_guide/hot_spec.html#conditions-section **Release note**: ```release-note OpenStack clusters can now specify whether worker nodes are assigned a floating IP ```pull/6/head
commit
e6453c7880
|
@ -73,3 +73,6 @@ SOCKS_PROXY=${SOCKS_PROXY:-}
|
|||
|
||||
# IPs and Domains that bypass the proxy.
|
||||
NO_PROXY=${NO_PROXY:-}
|
||||
|
||||
# Whether to assign floating IPs to minions
|
||||
ASSIGN_FLOATING_IP=${ASSIGN_FLOATING_IP:-true}
|
||||
|
|
|
@ -162,6 +162,11 @@ parameters:
|
|||
description: Comma seperated list of domains/addresses that bypass proxying.
|
||||
default: localhost
|
||||
|
||||
assign_floating_ip:
|
||||
type: boolean
|
||||
description: Indicates whether floating IPs will be generated for minions
|
||||
default: true
|
||||
|
||||
resources:
|
||||
|
||||
master_wait_handle:
|
||||
|
@ -435,6 +440,7 @@ resources:
|
|||
https_proxy: {get_param: https_proxy }
|
||||
socks_proxy: {get_param: socks_proxy }
|
||||
no_proxy: {get_param: no_proxy }
|
||||
assign_floating_ip: {get_param: assign_floating_ip }
|
||||
min_size: {get_param: number_of_minions}
|
||||
desired_capacity: {get_param: number_of_minions}
|
||||
max_size: {get_param: max_number_of_minions}
|
||||
|
|
|
@ -100,6 +100,11 @@ parameters:
|
|||
description: Comma seperated list of domains/addresses that bypass proxying.
|
||||
default: localhost
|
||||
|
||||
assign_floating_ip:
|
||||
type: boolean
|
||||
description: Indicates whether floating IPs will be generated for minions
|
||||
default: true
|
||||
|
||||
# The following are all generated in the parent template.
|
||||
kube_master_ip:
|
||||
type: string
|
||||
|
@ -127,6 +132,9 @@ parameters:
|
|||
secgroup_node:
|
||||
type: string
|
||||
|
||||
conditions:
|
||||
assign_floating_ip: {equals : [{get_param: assign_floating_ip}, true]}
|
||||
|
||||
resources:
|
||||
|
||||
minion_wait_handle:
|
||||
|
@ -294,10 +302,13 @@ resources:
|
|||
properties:
|
||||
floating_network: {get_param: external_network}
|
||||
port_id: {get_resource: kube_minion_eth0}
|
||||
condition: assign_floating_ip
|
||||
|
||||
outputs:
|
||||
|
||||
kube_minion_ip:
|
||||
value: {get_attr: [kube_minion_eth0, fixed_ips, 0, ip_address]}
|
||||
|
||||
kube_minion_external_ip:
|
||||
value: {get_attr: [kube_minion_floating, floating_ip_address]}
|
||||
condition: assign_floating_ip
|
||||
|
|
|
@ -233,6 +233,7 @@ function run-heat-script() {
|
|||
--parameter https_proxy="${HTTPS_PROXY}" \
|
||||
--parameter socks_proxy="${SOCKS_PROXY}" \
|
||||
--parameter no_proxy="${NO_PROXY}" \
|
||||
--parameter assign_floating_ip="${ASSIGN_FLOATING_IP}" \
|
||||
--template kubecluster.yaml \
|
||||
${STACK_NAME}
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue