
Currently, the list of minions is statically specified in master node, and the list of IP addresses of minion nodes is passed to master node through user_data. This approach doesn't work well on scaling. For example, adding a minion node through stack-update will cause an update on user_data, which cause the master node to be replaced. This commit addresses this issue by dynamically register minion node. There are two cases: * Scale out: the new minion nodes will register themselves to the cluster when they are booting. * Scale in: a subset of minion nodes are deleted by Heat, and the master node will discover it and automatically deregister the deleted nodes.
14 lines
450 B
YAML
14 lines
450 B
YAML
#cloud-config
|
|
merge_how: dict(recurse_array)+list(append)
|
|
write_files:
|
|
- path: /etc/sysconfig/heat-params
|
|
owner: "root:root"
|
|
permissions: "0644"
|
|
content: |
|
|
KUBE_ALLOW_PRIV="$KUBE_ALLOW_PRIV"
|
|
WAIT_HANDLE="$WAIT_HANDLE"
|
|
FLANNEL_NETWORK_CIDR="$FLANNEL_NETWORK_CIDR"
|
|
FLANNEL_NETWORK_SUBNETLEN="$FLANNEL_NETWORK_SUBNETLEN"
|
|
FLANNEL_USE_VXLAN="$FLANNEL_USE_VXLAN"
|
|
PORTAL_NETWORK_CIDR="$PORTAL_NETWORK_CIDR"
|