Sample AWS failure domain configuration
To prevent downtime for your applications due to the failure of a single Amazon Web Services (AWS) region, you can configure failure domains in the control plane machine set by configuring appropriate values in the failureDomains section of the ControlPlaneMachineSet object.
The control plane machine set concept of a failure domain is analogous to the AWS concept of an Availability Zone (AZ).
The ControlPlaneMachineSet CR spreads control plane machines across more than one failure domain when possible.
When configuring AWS failure domains in the control plane machine set, you must specify the availability zone name and the subnet to use.
apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
name: cluster
namespace: openshift-machine-api
spec:
# ...
template:
# ...
machines_v1beta1_machine_openshift_io:
failureDomains:
aws:
- placement:
availabilityZone: <aws_zone_a>
subnet:
filters:
- name: tag:Name
values:
- <cluster_id>-subnet-private-<aws_zone_a>
type: Filters
- placement:
availabilityZone: <aws_zone_b>
subnet:
filters:
- name: tag:Name
values:
- <cluster_id>-subnet-private-<aws_zone_b>
type: Filters
platform: AWS
# ...
where:
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.placement.availabilityZone: <aws_zone_a>-
Specifies an AWS availability zone for the first failure domain.
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet-
Specifies a subnet configuration. In this example, the subnet type is
Filters, so there is afiltersstanza. spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet.filters.values: <cluster_id>-subnet-private-<aws_zone_a>-
Specifies the subnet name for the first failure domain, using the infrastructure ID and the AWS availability zone.
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet.type-
Specifies the subnet type. The following values are valid:
ARN,FiltersandID. The default value isFilters. spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.placement.availabilityZone: <aws_zone_b>-
Specifies an AWS availability zone for an additional failure domain.
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet.filters.values: <cluster_id>-subnet-private-<aws_zone_b>-
Specifies the subnet name for the additional failure domain, using the infrastructure ID and the AWS availability zone.
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.platform-
Specifies the cloud provider platform name. Do not change this value.