Merge "Add server group for cluster worker nodes"
This commit is contained in:
commit
07e48a1ed5
@ -605,11 +605,16 @@ resources:
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# resources that expose the server group for all nodes include master
|
||||
# and minions.
|
||||
# resources that expose one server group for each master and worker nodes
|
||||
# separately.
|
||||
#
|
||||
|
||||
nodes_server_group:
|
||||
master_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
worker_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
@ -690,7 +695,7 @@ resources:
|
||||
dns_service_ip: {get_param: dns_service_ip}
|
||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||
openstack_ca: {get_param: openstack_ca_coreos}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: master_nodes_server_group}
|
||||
availability_zone: {get_param: availability_zone}
|
||||
ca_key: {get_param: ca_key}
|
||||
cert_manager_api: {get_param: cert_manager_api}
|
||||
@ -778,7 +783,7 @@ resources:
|
||||
dns_service_ip: {get_param: dns_service_ip}
|
||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||
openstack_ca: {get_param: openstack_ca_coreos}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: worker_nodes_server_group}
|
||||
availability_zone: {get_param: availability_zone}
|
||||
pods_network_cidr: {get_param: pods_network_cidr}
|
||||
kubelet_options: {get_param: kubelet_options}
|
||||
|
@ -675,11 +675,16 @@ resources:
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# resources that expose the server group for all nodes include master
|
||||
# and minions.
|
||||
# resources that expose one server group for each master and worker nodes
|
||||
# separately.
|
||||
#
|
||||
|
||||
nodes_server_group:
|
||||
master_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
worker_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
@ -762,7 +767,7 @@ resources:
|
||||
dns_service_ip: {get_param: dns_service_ip}
|
||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: master_nodes_server_group}
|
||||
availability_zone: {get_param: availability_zone}
|
||||
ca_key: {get_param: ca_key}
|
||||
cert_manager_api: {get_param: cert_manager_api}
|
||||
@ -904,7 +909,7 @@ resources:
|
||||
dns_service_ip: {get_param: dns_service_ip}
|
||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: worker_nodes_server_group}
|
||||
availability_zone: {get_param: availability_zone}
|
||||
pods_network_cidr: {get_param: pods_network_cidr}
|
||||
kubelet_options: {get_param: kubelet_options}
|
||||
|
@ -468,11 +468,16 @@ resources:
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# resources that expose the server group for all nodes include master
|
||||
# and minions.
|
||||
# resources that expose one server group for each master and worker nodes
|
||||
# separately.
|
||||
#
|
||||
|
||||
nodes_server_group:
|
||||
master_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
worker_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
@ -544,7 +549,7 @@ resources:
|
||||
wc_curl_cli: {get_attr: [master_wait_handle, curl_cli]}
|
||||
etcd_lb_vip: {get_attr: [etcd_lb, address]}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: master_nodes_server_group}
|
||||
octavia_enabled: {get_param: octavia_enabled}
|
||||
|
||||
######################################################################
|
||||
@ -589,7 +594,7 @@ resources:
|
||||
flannel_network_cidr: {get_param: flannel_network_cidr}
|
||||
external_network: {get_param: external_network}
|
||||
kube_software_configs: {get_attr: [kubeminion_software_configs, kube_minion_init]}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: worker_nodes_server_group}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
|
@ -380,11 +380,16 @@ resources:
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# resources that expose the server group for all nodes include master
|
||||
# and minions.
|
||||
# resources that expose one server group for each master and worker nodes
|
||||
# separately.
|
||||
#
|
||||
|
||||
nodes_server_group:
|
||||
master_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
worker_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
@ -417,7 +422,7 @@ resources:
|
||||
secgroup_mesos_id: {get_resource: secgroup_master}
|
||||
api_pool_id: {get_attr: [api_lb, pool_id]}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: master_nodes_server_group}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
@ -447,7 +452,7 @@ resources:
|
||||
external_network: {get_param: external_network}
|
||||
secgroup_slave_all_open_id: {get_resource: secgroup_slave_all_open}
|
||||
mesos_slave_software_configs: {get_attr: [mesos_slave_software_configs, mesos_init]}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: worker_nodes_server_group}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
|
@ -346,23 +346,28 @@ resources:
|
||||
master_public_ip: {get_attr: [swarm_masters, resource.0.swarm_master_external_ip]}
|
||||
master_private_ip: {get_attr: [swarm_masters, resource.0.swarm_master_ip]}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# resources that expose the server group for all nodes include master
|
||||
# and minions.
|
||||
#
|
||||
|
||||
nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
etcd_address_lb_switch:
|
||||
type: Magnum::ApiGatewaySwitcher
|
||||
properties:
|
||||
pool_private_ip: {get_attr: [etcd_lb, address]}
|
||||
master_private_ip: {get_attr: [swarm_masters, resource.0.swarm_master_ip]}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# resources that expose one server group for each master and worker nodes
|
||||
# separately.
|
||||
#
|
||||
|
||||
master_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
worker_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# Swarm manager is responsible for the entire cluster and manages the
|
||||
@ -420,7 +425,7 @@ resources:
|
||||
volume_driver: {get_param: volume_driver}
|
||||
rexray_preempt: {get_param: rexray_preempt}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: master_nodes_server_group}
|
||||
|
||||
swarm_nodes:
|
||||
type: "OS::Heat::ResourceGroup"
|
||||
@ -473,7 +478,7 @@ resources:
|
||||
volume_driver: {get_param: volume_driver}
|
||||
rexray_preempt: {get_param: rexray_preempt}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: worker_nodes_server_group}
|
||||
|
||||
outputs:
|
||||
|
||||
|
@ -292,11 +292,16 @@ resources:
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# resources that expose the server group for all nodes include master
|
||||
# and minions.
|
||||
# resources that expose one server group for each master and worker nodes
|
||||
# separately.
|
||||
#
|
||||
|
||||
nodes_server_group:
|
||||
master_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
|
||||
worker_nodes_server_group:
|
||||
type: OS::Nova::ServerGroup
|
||||
properties:
|
||||
policies: [{get_param: nodes_affinity_policy}]
|
||||
@ -350,7 +355,7 @@ resources:
|
||||
rexray_preempt: {get_param: rexray_preempt}
|
||||
verify_ca: {get_param: verify_ca}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: master_nodes_server_group}
|
||||
availability_zone: {get_param: availability_zone}
|
||||
|
||||
swarm_secondary_masters:
|
||||
@ -395,7 +400,7 @@ resources:
|
||||
rexray_preempt: {get_param: rexray_preempt}
|
||||
verify_ca: {get_param: verify_ca}
|
||||
openstack_ca: {get_param: openstack_ca}
|
||||
nodes_server_group_id: {get_resource: nodes_server_group}
|
||||
nodes_server_group_id: {get_resource: worker_nodes_server_group}
|
||||
availability_zone: {get_param: availability_zone}
|
||||
|
||||
swarm_nodes:
|
||||
|
@ -0,0 +1,9 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Magnums onlys has one server group for all master and worker nodes
|
||||
per cluster, which is not very flexible for small cloud scale. For a
|
||||
3+ master clusters, it's easily meeting the capacity when using hard
|
||||
anti-affinity policy. Now one server group is added for each
|
||||
master and worker nodes group to have better flexibility.
|
||||
|
Loading…
Reference in New Issue
Block a user