You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: enhancements/installer/aws-custom-edge-machineset-local-zones.md
+39-17Lines changed: 39 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -249,9 +249,9 @@ all the limitations on the Local Zones (instance types, EBS, network, etc).
249
249
250
250
The MachineSet for the `edge` pool will also set those custom labels:
251
251
252
-
-`node-role.kubernetes.io/edge=''`: used by`taint`and to quickly identify on`oc get nodes`
253
-
-`machine.openshift.io/zone-type=local-zone`: can be used by customers to deploy custom applications across all Local Zones nodes
254
-
-`machine.openshift.io/zone-group=<zone_group_name>`: can be used by the developer to deploy applications in custom locations
252
+
-`node-role.kubernetes.io/edge=''`: used to`taint`the node, quickly identify in`oc get nodes`, and create affinity rules
253
+
-`machine.openshift.io/zone-type=local-zone`: can be used to create workloads across all Local Zones nodes
254
+
-`machine.openshift.io/zone-group=<zone_group_name>`: can be used to create workloads in custom Local Zone locations
255
255
256
256
The MachineSet also must have the taint to `NoSchedule` to the label `node-role.kubernetes.io/edge=''`.
257
257
This taint will prevent to schedule of regular cluster workloads (router, logging, monitoring)
@@ -511,8 +511,8 @@ subnets to deploy edge compute pools on the AWS Local Zones.
511
511
512
512
The following items must be satisfied in this phase:
513
513
514
-
- the installer must opt-in the zone group for each zone specified
515
-
on the configuration `compute[?name=="edge"].platform.aws.zones`.
514
+
- the installer must check if the zone group has been opted-in for each zone specified
515
+
in the configuration `compute[?name=="edge"].platform.aws.zones`.
516
516
517
517
- the installer must discover the preferred instance type based on the API
518
518
[EC2 Instance Offerings](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html) for each Local Zone provided on the
@@ -522,11 +522,16 @@ The following items must be satisfied in this phase:
522
522
- the installer must create private subnets on Local Zones for each item provided
523
523
on the configuration `compute[?name=="edge"].platform.aws.zones`, associating
524
524
it to the private route table for the parent zone* when available, otherwise
525
-
the first private route table available.
525
+
the first private route table available will be selected.
526
526
527
527
> *each Local Zone belongs to a parent zone in the Region and can be discovered
528
528
by the EC2 API [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html).
529
529
530
+
- the machine set manifests for each Local Zones provided in the configuration
531
+
`compute[?name=="edge"].platform.aws.zones`, must expose the label of it's
532
+
parent zone `machine.openshift.io/parent-zone-name: <zone_name>`. This label can be
533
+
used to create affinity rules for workloads in Local Zone and in zones the Region.
534
+
530
535
- the installer will not create any other resource than subnets in the Local Zones
- 1: The `tag:Name` for the public subnet on the Local Zones location.
664
+
- 1: The `parent-zone-name` is the zone that the Local Zone is connected in the region.
665
+
- 2: The `tag:Name` for the public subnet on the Local Zones location.
659
666
660
667
The compute resources will be created by the installer:
661
668
@@ -753,6 +760,22 @@ platform:
753
760
Install a cluster in extending nodes to Local Zone with full automation: installer
754
761
creates network resources needed to launch the node.
755
762
763
+
Example using Local Zones `us-east-1-atl-1a` and `us-east-1-bos-1a`:
764
+
765
+
- User opt-in to the Local Zone group(s) using Console or CLI:
766
+
767
+
```bash
768
+
# opt-in the zone group `us-east-1-atl-1`
769
+
aws ec2 modify-availability-zone-group \
770
+
--group-name "us-east-1-atl-1" \
771
+
--opt-in-status opted-in
772
+
773
+
# opt-in the zone group `us-east-1-bos-1`
774
+
aws ec2 modify-availability-zone-group \
775
+
--group-name "us-east-1-bos-1" \
776
+
--opt-in-status opted-in
777
+
```
778
+
756
779
- Create the `install-config.yaml` with Local Zone names on the edge compute pool
757
780
758
781
```yaml
@@ -781,11 +804,11 @@ compute:
781
804
- validates if each zone item on the `edge` compute pool matches the attribute `ZoneType` equals of `local-zone`, collecting the zone attributes;
782
805
- discovers the preferred instance type for the zone based on the installer-supported list for each Local Zone calling the AWS API [EC2 Instance Offerings](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html), storing it on the zone attribute;
783
806
- creates the MachineSet manifest for each `edge` zone, creating the attributes:
0 commit comments