Wolfgang Kulhanek
2020-03-11 d15b2fac7063fc91e62bcc3a4e4b61b0f14e925e
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