commit | author | age
|
9db646
|
1 |
--- |
JK |
2 |
- name: Define {{ machineset_group.name }} machinesets |
|
3 |
k8s: |
|
4 |
state: present |
d15b2f
|
5 |
definition: "{{ lookup('template', 'machineset-aws.j2') | from_yaml }}" |
9db646
|
6 |
# Iterate through availability zones in reverse order as it makes the math |
JK |
7 |
# easier to scale zone "a" before "b" to match expected behavior. |
|
8 |
loop: "{{ aws_worker_availability_zones[::-1] }}" |
|
9 |
loop_control: |
|
10 |
label: "{{ machineset_name }}" |
|
11 |
loop_var: aws_worker_availability_zone |
|
12 |
index_var: loop_index |
|
13 |
vars: |
|
14 |
availability_zone: "{{ aws_worker_availability_zone.name }}" |
|
15 |
availability_zone_region: "{{ aws_worker_availability_zone.region }}" |
|
16 |
availability_zone_subnet: "{{ aws_worker_availability_zone.subnet }}" |
|
17 |
aws_instance_type: >- |
|
18 |
{{ machineset_group.aws_instance_type | default(default_aws_instance_type) }} |
|
19 |
aws_root_volume_size: >- |
|
20 |
{{ machineset_group.aws_root_volume_size | default(default_aws_root_volume_size) }} |
|
21 |
machineset_name: >- |
|
22 |
{{ [cluster_label, machineset_group.name, availability_zone] | join('-') }} |
935825
|
23 |
machineset_group_node_labels: >- |
JK |
24 |
{{ machineset_group.node_labels |
|
25 |
| default({'node-role.kubernetes.io/' + machineset_group.role: ''} |
|
26 |
if machineset_group.role|default(False) else {}) |
|
27 |
}} |
9db646
|
28 |
machineset_group_total_replicas: >- |
JK |
29 |
{{ machineset_group.total_replicas |
|
30 |
| default(machineset_group.total_replicas_min) |
|
31 |
| default(0) |
|
32 |
}} |
|
33 |
machineset_replicas: >- |
|
34 |
{{ ( |
|
35 |
(machineset_group_total_replicas|int + loop_index) / aws_worker_availability_zones|count |
|
36 |
) | int }} |
|
37 |
|
|
38 |
- name: Define {{ machineset_group.name }} machineautoscalers |
|
39 |
k8s: |
|
40 |
state: present |
|
41 |
definition: "{{ lookup('template', 'machineautoscaler.yml.j2') | from_yaml }}" |
|
42 |
# Iterate through availability zones in reverse order as it makes the math |
|
43 |
# easier to scale zone "a" before "b" to match expected behavior. |
|
44 |
loop: "{{ aws_worker_availability_zones[::-1] }}" |
|
45 |
loop_control: |
|
46 |
label: "{{ machineset_name }}" |
|
47 |
loop_var: aws_worker_availability_zone |
|
48 |
index_var: loop_index |
|
49 |
vars: |
|
50 |
availability_zone: "{{ aws_worker_availability_zone.name }}" |
|
51 |
machineset_name: >- |
|
52 |
{{ [cluster_label, machineset_group.name, availability_zone] | join('-') }} |
|
53 |
machineset_min_replicas: >- |
|
54 |
{{ ( |
|
55 |
(machineset_group.total_replicas_min|default(0) + loop_index) / |
|
56 |
aws_worker_availability_zones|count |
|
57 |
) | int }} |
|
58 |
machineset_max_replicas: >- |
|
59 |
{{ ( |
|
60 |
(machineset_group.total_replicas_max|default(100) + loop_index) / |
|
61 |
aws_worker_availability_zones|count |
|
62 |
) | int }} |
|
63 |
when: machineset_group.autoscale | default(False) | bool |