Skip to content

Commit 4030d91

Browse files
committed
OSDOCS#17046: CPMS AWS feature assembly
1 parent 0eec396 commit 4030d91

9 files changed

Lines changed: 318 additions & 161 deletions

machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-supported-features-aws.adoc

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,18 @@ include::modules/cpms-changing-aws-instance-type.adoc[leveloffset=+1]
2525
//Assigning machines to placement groups by using machine sets
2626
include::modules/machineset-aws-existing-placement-group.adoc[leveloffset=+1]
2727

28-
//Machine sets that enable the Amazon EC2 Instance Metadata Service
29-
include::modules/machineset-imds-options.adoc[leveloffset=+1]
28+
//Creating machines that use the Amazon EC2 Instance Metadata Service
29+
include::modules/machineset-creating-imds-options.adoc[leveloffset=+1]
3030

3131
[role="_additional-resources"]
3232
.Additional resources
3333
* xref:../../../machine_configuration/mco-update-boot-images.adoc#mco-update-boot-images[Boot image management]
3434
35-
//Creating machines that use the Amazon EC2 Instance Metadata Service
36-
include::modules/machineset-creating-imds-options.adoc[leveloffset=+2]
37-
3835
//Configuring storage throughput for gp3 drives
3936
include::modules/machineset-creating-gp3-throughput.adoc[leveloffset=+1]
4037

41-
//Machine sets that deploy machines as Dedicated Instances
42-
include::modules/machineset-dedicated-instances.adoc[leveloffset=+1]
43-
4438
//Creating Dedicated Instances by using machine sets
45-
include::modules/machineset-creating-dedicated-instances.adoc[leveloffset=+2]
39+
include::modules/machineset-creating-dedicated-instances.adoc[leveloffset=+1]
4640

4741
//Configuring Capacity Reservation by using machine sets
4842
include::modules/machineset-capacity-reservation.adoc[leveloffset=+1,tag=!compute]

machine_management/creating_machinesets/creating-machineset-aws.adoc

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,18 @@ include::modules/machineset-label-gpu-autoscaler.adoc[leveloffset=+1]
2727
//Assigning machines to placement groups by using machine sets
2828
include::modules/machineset-aws-existing-placement-group.adoc[leveloffset=+1]
2929

30-
//Machine sets that enable the Amazon EC2 Instance Metadata Service
31-
include::modules/machineset-imds-options.adoc[leveloffset=+1]
30+
//Creating machines that use the Amazon EC2 Instance Metadata Service
31+
include::modules/machineset-creating-imds-options.adoc[leveloffset=+1]
3232

3333
[role="_additional-resources"]
3434
.Additional resources
3535
* xref:../../machine_configuration/mco-update-boot-images.adoc#mco-update-boot-images[Boot image management]
3636
37-
//Creating machines that use the Amazon EC2 Instance Metadata Service
38-
include::modules/machineset-creating-imds-options.adoc[leveloffset=+2]
39-
4037
//Configuring storage throughput for gp3 drives
4138
include::modules/machineset-creating-gp3-throughput.adoc[leveloffset=+1]
4239

43-
//Machine sets that deploy machines as Dedicated Instances
44-
include::modules/machineset-dedicated-instances.adoc[leveloffset=+1]
45-
4640
//Creating Dedicated Instances by using machine sets
47-
include::modules/machineset-creating-dedicated-instances.adoc[leveloffset=+2]
41+
include::modules/machineset-creating-dedicated-instances.adoc[leveloffset=+1]
4842

4943
//Machine sets that deploy machines as Spot Instances
5044
include::modules/machineset-non-guaranteed-instance.adoc[leveloffset=+1]

modules/cpms-changing-aws-instance-type.adoc

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,57 +3,52 @@
33
// * scalability_and_performance/recommended-performance-scale-practices/recommended-control-plane-practices.adoc
44
// * machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-aws.adoc
55

6-
ifeval::["{context}" == "recommended-control-plane-practices"]
7-
:scale-host:
8-
endif::[]
9-
ifeval::["{context}" == "cpmso-supported-features-aws"]
10-
:cpmso-config-options-aws:
11-
endif::[]
12-
136
:_mod-docs-content-type: PROCEDURE
147
[id="cpms-changing-aws-instance-type_{context}"]
15-
= Changing the Amazon Web Services instance type by using a control plane machine set
8+
= Changing the {aws-full} instance type by using a control plane machine set
169

1710
[role="_abstract"]
18-
You can change the {aws-first} instance type that your control plane machines use by updating the specification in the control plane machine set custom resource (CR).
19-
20-
ifdef::scale-host[]
21-
** For clusters that use the default `RollingUpdate` update strategy, the Operator automatically propagates the changes to your control plane configuration.
22-
23-
** For clusters that are configured to use the `OnDelete` update strategy, you must replace your control plane machines manually.
24-
endif::scale-host[]
11+
If you need more resources for your control plane machines, you can change the {aws-first} instance type that they use.
12+
To change the instance type, you update the instance type value in the control plane machine set custom resource (CR).
2513

2614
.Prerequisites
2715

16+
* You have access to the {oc-first} as a user with administrator privileges.
17+
2818
* Your {aws-short} cluster uses a control plane machine set.
2919
3020
.Procedure
3121

32-
ifdef::scale-host[]
3322
. Edit your control plane machine set CR by running the following command:
3423
+
3524
[source,terminal]
3625
----
37-
$ oc --namespace openshift-machine-api edit controlplanemachineset.machine.openshift.io cluster
26+
$ oc edit controlplanemachineset.machine.openshift.io cluster --namespace openshift-machine-api
3827
----
39-
endif::scale-host[]
4028

41-
. Edit the following line under the `providerSpec` field:
29+
. Update the CR to implement your configuration changes:
4230
+
4331
[source,yaml]
4432
----
45-
providerSpec:
46-
value:
47-
...
48-
instanceType: <compatible_aws_instance_type>
33+
apiVersion: machine.openshift.io/v1
34+
kind: ControlPlaneMachineSet
35+
# ...
36+
spec:
37+
template:
38+
machines_v1beta1_machine_openshift_io:
39+
spec:
40+
providerSpec:
41+
value:
42+
instanceType: <compatible_aws_instance_type>
4943
----
50-
** `<compatible_aws_instance_type>`: Specifies a larger {aws-short} instance type with the same base as the previous selection. For example, you can change `m6i.xlarge` to `m6i.2xlarge` or `m6i.4xlarge`.
44+
+
45+
where `<compatible_aws_instance_type>` specifies a larger {aws-short} instance type with the same base.
46+
For example, you can change this value from `m6i.xlarge` to `m6i.2xlarge` or `m6i.4xlarge`.
5147

52-
. Save your changes.
48+
. Save your changes and exit the object specification.
49+
+
50+
When you save an update to the control plane machine set, the Control Plane Machine Set Operator updates the control plane machines according to your configured update strategy.
5351

54-
ifeval::["{context}" == "recommended-control-plane-practices"]
55-
:!scale-host:
56-
endif::[]
57-
ifeval::["{context}" == "cpmso-supported-features-aws"]
58-
:!cpmso-config-options-aws:
59-
endif::[]
52+
** For clusters that use the default `RollingUpdate` update strategy, the Operator automatically propagates the changes to your control plane configuration.
53+
54+
** For clusters that are configured to use the `OnDelete` update strategy, you must replace your control plane machines manually.

modules/machineset-aws-existing-placement-group.adoc

Lines changed: 77 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,67 +11,121 @@ endif::[]
1111
[id="machineset-aws-existing-placement-group_{context}"]
1212
= Assigning machines to placement groups for Elastic Fabric Adapter instances by using machine sets
1313

14-
You can configure a machine set to deploy machines on link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html[Elastic Fabric Adapter] (EFA) instances within an existing AWS placement group.
14+
[role="_abstract"]
15+
To improve network performance, you can configure a machine set to deploy machines on link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html[Elastic Fabric Adapter] (EFA) instances within an AWS placement group.
1516

16-
EFA instances do not require placement groups, and you can use placement groups for purposes other than configuring an EFA. This example uses both to demonstrate a configuration that can improve network performance for machines within the specified placement group.
17+
EFA instances do not require placement groups, and you can use placement groups for purposes other than configuring an EFA.
18+
This example uses both to demonstrate a configuration that can improve network performance for machines within the specified placement group.
1719

1820
.Prerequisites
1921

22+
* You have access to the {oc-first} as a user with administrator privileges.
23+
2024
* You created a placement group in the AWS console.
2125
+
2226
[NOTE]
2327
====
2428
Ensure that the link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#limitations-placement-groups[rules and limitations] for the type of placement group that you create are compatible with your intended use case.
2529
ifdef::cpmso[]
26-
The control plane machine set spreads the control plane machines across multiple failure domains when possible. To use placement groups for the control plane, you must use a placement group type that can span multiple Availability Zones.
30+
The control plane machine set spreads the control plane machines across multiple failure domains when possible.
31+
To use placement groups for the control plane, you must use a placement group type that can span multiple Availability Zones.
2732
endif::cpmso[]
2833
====
2934
3035
.Procedure
3136

32-
. In a text editor, open the YAML file for an existing machine set or create a new one.
33-
34-
. Edit the following lines under the `providerSpec` field:
37+
ifdef::cpmso[]
38+
. Edit your control plane machine set custom resource (CR) by running the following command:
3539
+
36-
[source,yaml]
40+
[source,terminal]
41+
----
42+
$ oc edit controlplanemachineset.machine.openshift.io cluster --namespace openshift-machine-api
3743
----
44+
endif::cpmso[]
45+
3846
ifndef::cpmso[]
39-
apiVersion: machine.openshift.io/v1beta1
40-
kind: MachineSet
47+
. In a text editor, open an existing machine set custom resource (CR) or create a new one.
4148
endif::cpmso[]
49+
50+
. Update the CR to implement your configuration changes:
51+
+
52+
[source,yaml]
53+
----
4254
ifdef::cpmso[]
4355
apiVersion: machine.openshift.io/v1
4456
kind: ControlPlaneMachineSet
57+
# ...
58+
spec:
59+
template:
60+
machines_v1beta1_machine_openshift_io:
61+
spec:
62+
providerSpec:
63+
value:
64+
instanceType: <supported_instance_type>
65+
networkInterfaceType: <interface_type>
66+
placement:
67+
availabilityZone: <zone>
68+
region: <region>
69+
placementGroupName: <placement_group>
70+
placementGroupPartition: <placement_group_partition_number>
4571
endif::cpmso[]
72+
ifndef::cpmso[]
73+
apiVersion: machine.openshift.io/v1beta1
74+
kind: MachineSet
4675
# ...
4776
spec:
4877
template:
4978
spec:
5079
providerSpec:
5180
value:
52-
instanceType: <supported_instance_type> # <1>
53-
networkInterfaceType: EFA # <2>
81+
instanceType: <supported_instance_type>
82+
networkInterfaceType: EFA
5483
placement:
55-
availabilityZone: <zone> # <3>
56-
region: <region> # <4>
57-
placementGroupName: <placement_group> # <5>
58-
placementGroupPartition: <placement_group_partition_number> # <6>
59-
# ...
84+
availabilityZone: <zone>
85+
region: <region>
86+
placementGroupName: <placement_group>
87+
placementGroupPartition: <placement_group_partition_number>
88+
endif::cpmso[]
6089
----
61-
<1> Specify an instance type that link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html#efa-instance-types[supports EFAs].
62-
<2> Specify the `EFA` network interface type.
63-
<3> Specify the zone, for example, `us-east-1a`.
64-
<4> Specify the region, for example, `us-east-1`.
65-
<5> Specify the name of the existing AWS placement group to deploy machines in.
66-
<6> Optional: Specify the partition number of the existing AWS placement group to deploy machines in.
90+
+
91+
where:
92+
93+
`<supported_instance_type>`::
94+
Specifies an instance type that link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html#efa-instance-types[supports EFAs].
95+
96+
`<interface_type>`::
97+
Specifies the network interface type.
98+
To use an EFA, set this value to `EFA`.
99+
100+
`<zone>`::
101+
Specifies the zone; for example, `us-east-1a`.
102+
103+
`<region>`::
104+
Specifies the region; for example, `us-east-1`.
105+
106+
`<placement_group>`::
107+
Specifies the name of the existing AWS placement group to deploy machines in.
108+
109+
`<placement_group_partition_number>`::
110+
Optional: Specifies the partition number of the existing AWS placement group to deploy machines in.
111+
112+
. Save your changes and exit the object specification.
113+
ifdef::cpmso[]
114+
+
115+
When you save an update to the control plane machine set, the Control Plane Machine Set Operator updates the control plane machines according to your configured update strategy.
116+
117+
** For clusters that use the default `RollingUpdate` update strategy, the Operator automatically propagates the changes to your control plane configuration.
118+
119+
** For clusters that are configured to use the `OnDelete` update strategy, you must replace your control plane machines manually.
120+
endif::cpmso[]
67121

68122
.Verification
69123

70124
* In the AWS console, find a machine that the machine set created and verify the following in the machine properties:
71125
72126
** The placement group field has the value that you specified for the `placementGroupName` parameter in the machine set.
73127

74-
** The partition number field has the value that you specified for the `placementGroupPartition` parameter in the machine set.
128+
** If you specified a partition number, the partition number field has the value that you specified for the `placementGroupPartition` parameter in the machine set.
75129

76130
** The interface type field indicates that it uses an EFA.
77131

0 commit comments

Comments
 (0)