Browse Source

Enhanced OpenStack cloud provider (#1627)

- Enable Cinder API version for block storage
- Enable floating IP for LBaaS
pull/1672/head
Kevin Lefevre 7 years ago
committed by Matthew Mosesohn
parent
commit
9302ce0036
3 changed files with 19 additions and 5 deletions
  1. 3
      inventory/group_vars/all.yml
  2. 8
      roles/kubernetes/preinstall/templates/openstack-cloud-config.j2
  3. 13
      roles/kubespray-defaults/defaults/main.yaml

3
inventory/group_vars/all.yml

@ -74,9 +74,12 @@ bin_dir: /usr/local/bin
#azure_vnet_name: #azure_vnet_name:
#azure_route_table_name: #azure_route_table_name:
## When OpenStack is used, Cinder version can be explicitly specified if autodetection fails (https://github.com/kubernetes/kubernetes/issues/50461)
#openstack_blockstorage_version: "v1/v2/auto (default)"
## When OpenStack is used, if LBaaSv2 is available you can enable it with the following variables. ## When OpenStack is used, if LBaaSv2 is available you can enable it with the following variables.
#openstack_lbaas_enabled: True #openstack_lbaas_enabled: True
#openstack_lbaas_subnet_id: "Neutron subnet ID (not network ID) to create LBaaS VIP" #openstack_lbaas_subnet_id: "Neutron subnet ID (not network ID) to create LBaaS VIP"
#openstack_lbaas_floating_network_id: "Neutron network ID (not subnet ID) to get floating IP from, disabled by default"
#openstack_lbaas_create_monitor: "yes" #openstack_lbaas_create_monitor: "yes"
#openstack_lbaas_monitor_delay: "1m" #openstack_lbaas_monitor_delay: "1m"
#openstack_lbaas_monitor_timeout: "30s" #openstack_lbaas_monitor_timeout: "30s"

8
roles/kubernetes/preinstall/templates/openstack-cloud-config.j2

@ -8,9 +8,17 @@ tenant-id={{ openstack_tenant_id }}
domain-name={{ openstack_domain_name }} domain-name={{ openstack_domain_name }}
{% endif %} {% endif %}
{% if openstack_blockstorage_version is defined %}
[BlockStorage]
bs-version={{ openstack_blockstorage_version }}
{% endif %}
{% if openstack_lbaas_enabled and openstack_lbaas_subnet_id %} {% if openstack_lbaas_enabled and openstack_lbaas_subnet_id %}
[LoadBalancer] [LoadBalancer]
subnet-id={{ openstack_lbaas_subnet_id }} subnet-id={{ openstack_lbaas_subnet_id }}
{% if openstack_lbaas_floating_network_id is defined %}
floating-network-id={{ openstack_lbaas_floating_network_id }}
{% endif %}
create-monitor={{ openstack_lbaas_create_monitor }} create-monitor={{ openstack_lbaas_create_monitor }}
monitor-delay={{ openstack_lbaas_monitor_delay }} monitor-delay={{ openstack_lbaas_monitor_delay }}
monitor-timeout={{ openstack_lbaas_monitor_timeout }} monitor-timeout={{ openstack_lbaas_monitor_timeout }}

13
roles/kubespray-defaults/defaults/main.yaml

@ -123,13 +123,16 @@ k8s_image_pull_policy: IfNotPresent
efk_enabled: false efk_enabled: false
enable_network_policy: false enable_network_policy: false
## When OpenStack is used, Cinder version can be explicitly specified if autodetection fails (https://github.com/kubernetes/kubernetes/issues/50461)
#openstack_blockstorage_version: "v1/v2/auto (default)"
## When OpenStack is used, if LBaaSv2 is available you can enable it with the following variables. ## When OpenStack is used, if LBaaSv2 is available you can enable it with the following variables.
openstack_lbaas_enabled: false openstack_lbaas_enabled: false
openstack_lbaas_subnet_id: "Neutron subnet ID (not network ID) to create LBaaS VIP"
openstack_lbaas_create_monitor: "yes"
openstack_lbaas_monitor_delay: false
openstack_lbaas_monitor_timeout: false
openstack_lbaas_monitor_max_retries: false
#openstack_lbaas_subnet_id: "Neutron subnet ID (not network ID) to create LBaaS VIP"
#openstack_lbaas_floating_network_id: "Neutron network ID (not subnet ID) to get floating IP from, disabled by default"
#openstack_lbaas_create_monitor: "yes"
#openstack_lbaas_monitor_delay: false
#openstack_lbaas_monitor_timeout: false
#openstack_lbaas_monitor_max_retries: false
## List of authorization modes that must be configured for ## List of authorization modes that must be configured for
## the k8s cluster. Only 'AlwaysAllow','AlwaysDeny', and ## the k8s cluster. Only 'AlwaysAllow','AlwaysDeny', and

Loading…
Cancel
Save