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
|
# resources that expose one server group for each master and worker nodes
|
||||||
# and minions.
|
# 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
|
type: OS::Nova::ServerGroup
|
||||||
properties:
|
properties:
|
||||||
policies: [{get_param: nodes_affinity_policy}]
|
policies: [{get_param: nodes_affinity_policy}]
|
||||||
@ -690,7 +695,7 @@ resources:
|
|||||||
dns_service_ip: {get_param: dns_service_ip}
|
dns_service_ip: {get_param: dns_service_ip}
|
||||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||||
openstack_ca: {get_param: openstack_ca_coreos}
|
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}
|
availability_zone: {get_param: availability_zone}
|
||||||
ca_key: {get_param: ca_key}
|
ca_key: {get_param: ca_key}
|
||||||
cert_manager_api: {get_param: cert_manager_api}
|
cert_manager_api: {get_param: cert_manager_api}
|
||||||
@ -778,7 +783,7 @@ resources:
|
|||||||
dns_service_ip: {get_param: dns_service_ip}
|
dns_service_ip: {get_param: dns_service_ip}
|
||||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||||
openstack_ca: {get_param: openstack_ca_coreos}
|
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}
|
availability_zone: {get_param: availability_zone}
|
||||||
pods_network_cidr: {get_param: pods_network_cidr}
|
pods_network_cidr: {get_param: pods_network_cidr}
|
||||||
kubelet_options: {get_param: kubelet_options}
|
kubelet_options: {get_param: kubelet_options}
|
||||||
|
@ -675,11 +675,16 @@ resources:
|
|||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
# resources that expose the server group for all nodes include master
|
# resources that expose one server group for each master and worker nodes
|
||||||
# and minions.
|
# 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
|
type: OS::Nova::ServerGroup
|
||||||
properties:
|
properties:
|
||||||
policies: [{get_param: nodes_affinity_policy}]
|
policies: [{get_param: nodes_affinity_policy}]
|
||||||
@ -762,7 +767,7 @@ resources:
|
|||||||
dns_service_ip: {get_param: dns_service_ip}
|
dns_service_ip: {get_param: dns_service_ip}
|
||||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||||
openstack_ca: {get_param: openstack_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}
|
availability_zone: {get_param: availability_zone}
|
||||||
ca_key: {get_param: ca_key}
|
ca_key: {get_param: ca_key}
|
||||||
cert_manager_api: {get_param: cert_manager_api}
|
cert_manager_api: {get_param: cert_manager_api}
|
||||||
@ -904,7 +909,7 @@ resources:
|
|||||||
dns_service_ip: {get_param: dns_service_ip}
|
dns_service_ip: {get_param: dns_service_ip}
|
||||||
dns_cluster_domain: {get_param: dns_cluster_domain}
|
dns_cluster_domain: {get_param: dns_cluster_domain}
|
||||||
openstack_ca: {get_param: openstack_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}
|
availability_zone: {get_param: availability_zone}
|
||||||
pods_network_cidr: {get_param: pods_network_cidr}
|
pods_network_cidr: {get_param: pods_network_cidr}
|
||||||
kubelet_options: {get_param: kubelet_options}
|
kubelet_options: {get_param: kubelet_options}
|
||||||
|
@ -468,11 +468,16 @@ resources:
|
|||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
# resources that expose the server group for all nodes include master
|
# resources that expose one server group for each master and worker nodes
|
||||||
# and minions.
|
# 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
|
type: OS::Nova::ServerGroup
|
||||||
properties:
|
properties:
|
||||||
policies: [{get_param: nodes_affinity_policy}]
|
policies: [{get_param: nodes_affinity_policy}]
|
||||||
@ -544,7 +549,7 @@ resources:
|
|||||||
wc_curl_cli: {get_attr: [master_wait_handle, curl_cli]}
|
wc_curl_cli: {get_attr: [master_wait_handle, curl_cli]}
|
||||||
etcd_lb_vip: {get_attr: [etcd_lb, address]}
|
etcd_lb_vip: {get_attr: [etcd_lb, address]}
|
||||||
openstack_ca: {get_param: openstack_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}
|
||||||
octavia_enabled: {get_param: octavia_enabled}
|
octavia_enabled: {get_param: octavia_enabled}
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
@ -589,7 +594,7 @@ resources:
|
|||||||
flannel_network_cidr: {get_param: flannel_network_cidr}
|
flannel_network_cidr: {get_param: flannel_network_cidr}
|
||||||
external_network: {get_param: external_network}
|
external_network: {get_param: external_network}
|
||||||
kube_software_configs: {get_attr: [kubeminion_software_configs, kube_minion_init]}
|
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
|
# resources that expose one server group for each master and worker nodes
|
||||||
# and minions.
|
# 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
|
type: OS::Nova::ServerGroup
|
||||||
properties:
|
properties:
|
||||||
policies: [{get_param: nodes_affinity_policy}]
|
policies: [{get_param: nodes_affinity_policy}]
|
||||||
@ -417,7 +422,7 @@ resources:
|
|||||||
secgroup_mesos_id: {get_resource: secgroup_master}
|
secgroup_mesos_id: {get_resource: secgroup_master}
|
||||||
api_pool_id: {get_attr: [api_lb, pool_id]}
|
api_pool_id: {get_attr: [api_lb, pool_id]}
|
||||||
openstack_ca: {get_param: openstack_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}
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
@ -447,7 +452,7 @@ resources:
|
|||||||
external_network: {get_param: external_network}
|
external_network: {get_param: external_network}
|
||||||
secgroup_slave_all_open_id: {get_resource: secgroup_slave_all_open}
|
secgroup_slave_all_open_id: {get_resource: secgroup_slave_all_open}
|
||||||
mesos_slave_software_configs: {get_attr: [mesos_slave_software_configs, mesos_init]}
|
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_public_ip: {get_attr: [swarm_masters, resource.0.swarm_master_external_ip]}
|
||||||
master_private_ip: {get_attr: [swarm_masters, resource.0.swarm_master_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:
|
etcd_address_lb_switch:
|
||||||
type: Magnum::ApiGatewaySwitcher
|
type: Magnum::ApiGatewaySwitcher
|
||||||
properties:
|
properties:
|
||||||
pool_private_ip: {get_attr: [etcd_lb, address]}
|
pool_private_ip: {get_attr: [etcd_lb, address]}
|
||||||
master_private_ip: {get_attr: [swarm_masters, resource.0.swarm_master_ip]}
|
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
|
# Swarm manager is responsible for the entire cluster and manages the
|
||||||
@ -420,7 +425,7 @@ resources:
|
|||||||
volume_driver: {get_param: volume_driver}
|
volume_driver: {get_param: volume_driver}
|
||||||
rexray_preempt: {get_param: rexray_preempt}
|
rexray_preempt: {get_param: rexray_preempt}
|
||||||
openstack_ca: {get_param: openstack_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}
|
||||||
|
|
||||||
swarm_nodes:
|
swarm_nodes:
|
||||||
type: "OS::Heat::ResourceGroup"
|
type: "OS::Heat::ResourceGroup"
|
||||||
@ -473,7 +478,7 @@ resources:
|
|||||||
volume_driver: {get_param: volume_driver}
|
volume_driver: {get_param: volume_driver}
|
||||||
rexray_preempt: {get_param: rexray_preempt}
|
rexray_preempt: {get_param: rexray_preempt}
|
||||||
openstack_ca: {get_param: openstack_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}
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
|
|
||||||
|
@ -292,11 +292,16 @@ resources:
|
|||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
# resources that expose the server group for all nodes include master
|
# resources that expose one server group for each master and worker nodes
|
||||||
# and minions.
|
# 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
|
type: OS::Nova::ServerGroup
|
||||||
properties:
|
properties:
|
||||||
policies: [{get_param: nodes_affinity_policy}]
|
policies: [{get_param: nodes_affinity_policy}]
|
||||||
@ -350,7 +355,7 @@ resources:
|
|||||||
rexray_preempt: {get_param: rexray_preempt}
|
rexray_preempt: {get_param: rexray_preempt}
|
||||||
verify_ca: {get_param: verify_ca}
|
verify_ca: {get_param: verify_ca}
|
||||||
openstack_ca: {get_param: openstack_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}
|
availability_zone: {get_param: availability_zone}
|
||||||
|
|
||||||
swarm_secondary_masters:
|
swarm_secondary_masters:
|
||||||
@ -395,7 +400,7 @@ resources:
|
|||||||
rexray_preempt: {get_param: rexray_preempt}
|
rexray_preempt: {get_param: rexray_preempt}
|
||||||
verify_ca: {get_param: verify_ca}
|
verify_ca: {get_param: verify_ca}
|
||||||
openstack_ca: {get_param: openstack_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}
|
availability_zone: {get_param: availability_zone}
|
||||||
|
|
||||||
swarm_nodes:
|
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