github.com/openshift/installer@v1.4.17/docs/user/aws/customization.md (about) 1 # AWS Platform Customization 2 3 Beyond the [platform-agnostic `install-config.yaml` properties](../customization.md#platform-customization), the installer supports additional, AWS-specific properties. 4 5 ## Cluster-scoped properties 6 7 * `amiID` (optional string): The AMI that should be used to boot machines for the cluster. 8 If set, the AMI should belong to the same region as the cluster. This field is now deprecated and `defaultMachinePlatform` should be used instead. 9 * `region` (required string): The AWS region where the cluster will be created. 10 * `subnets` (optional array of strings): Existing subnets (by ID) where cluster resources will be created. 11 Leave unset to have the installer create subnets in a new VPC on your behalf. 12 * `userTags` (optional object): Additional keys and values that the installer will add as tags to all resources that it creates. 13 Resources created by the cluster itself may not include these tags. 14 * `defaultMachinePlatform` (optional object): Default [AWS-specific machine pool properties](#machine-pools) which applies to [machine pools](../customization.md#machine-pools) that do not define their own AWS-specific properties. 15 16 ## Machine pools 17 18 * `rootVolume` (optional object): Defines the root volume for EC2 instances in the machine pool. 19 * `iops` (optional integer): The amount of provisioned [IOPS][volume-iops]. 20 This is only valid for `type` `io1`. 21 * `size` (optional integer): Size of the root volume in gibibytes (GiB). 22 * `type` (optional string): The [type of volume][volume-type]. 23 * `kmsKeyARN` (optional string): The [ARN of KMS key][kms-key] that should be used to encrypt the EBS volume. 24 When no key is specified by user, the account's [default KMS Key][kms-key-default] for the region will be used. 25 Example ARN values are: `arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` or `arn:aws:kms:us-east-1:111122223333:alias/my-key` 26 * `type` (optional string): The [EC2 instance type][instance-type]. 27 * `zones` (optional array of strings): The availability zones used for machines in the pool. 28 * `amiID` (optional string): The AMI that should be used to boot machines. 29 If set, the AMI should belong to the same region as the cluster. 30 31 ## Installing to Existing VPC & Subnetworks 32 33 The installer can use an existing VPC and subnets when provisioning an OpenShift cluster. A VPC will be inferred from the provided subnets. For a standard installation, a private and public subnet should be specified. ([see example below](#pre-existing-vpc--subnets)). Both of the subnets must be within the IP range specified in `networking.machineNetwork`. 34 35 ## Examples 36 37 Some example `install-config.yaml` are shown below. 38 For examples of platform-agnostic configuration fragments, see [here](../customization.md#examples). 39 40 ### Minimal 41 42 An example minimal AWS install config is: 43 44 ```yaml 45 apiVersion: v1 46 baseDomain: example.com 47 metadata: 48 name: test-cluster 49 platform: 50 aws: 51 region: us-west-2 52 pullSecret: '{"auths": ...}' 53 sshKey: ssh-ed25519 AAAA... 54 ``` 55 56 ### Custom machine pools 57 58 An example AWS install config with custom machine pools: 59 60 ```yaml 61 apiVersion: v1 62 baseDomain: example.com 63 controlPlane: 64 name: master 65 platform: 66 aws: 67 zones: 68 - us-west-2a 69 - us-west-2b 70 type: m5.xlarge 71 replicas: 3 72 compute: 73 - name: worker 74 platform: 75 aws: 76 amiID: ami-123456 77 rootVolume: 78 iops: 4000 79 size: 500 80 type: io1 81 kmsKeyARN: arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab 82 type: c5.9xlarge 83 zones: 84 - us-west-2c 85 replicas: 5 86 metadata: 87 name: test-cluster 88 platform: 89 aws: 90 region: us-west-2 91 pullSecret: '{"auths": ...}' 92 sshKey: ssh-ed25519 AAAA... 93 ``` 94 95 ### Pre-existing VPC & Subnets 96 97 An example install config for installing to an existing VPC and subnets is: 98 99 ```yaml 100 apiVersion: v1 101 baseDomain: example.com 102 metadata: 103 name: test-cluster 104 networking: 105 machineNetwork: 106 - cidr: 10.190.0.0/16 107 platform: 108 aws: 109 region: us-west-2 110 subnets: 111 - subnet-0e953079d31ec4c74 112 - subnet-05e6864f66a954c27 113 pullSecret: '{"auths": ...}' 114 sshKey: ssh-ed25519 AAAA... 115 ``` 116 117 [availablity-zones]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html 118 [instance-type]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html 119 [kms-key-default]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetEbsDefaultKmsKeyId.html 120 [kms-key]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html 121 [volume-iops]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html 122 [volume-type]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html