@@ -2160,6 +2160,39 @@ spec:
21602160 Defaults to 10.0.0.0/16.
21612161 Mutually exclusive with IPAMPool.
21622162 type: string
2163+ elasticIpPool:
2164+ description: |-
2165+ ElasticIPPool contains specific configuration to allocate Public IPv4 address (Elastic IP) from user-defined pool
2166+ brought to AWS for core infrastructure resources, like NAT Gateways and Public Network Load Balancers for
2167+ the API Server.
2168+ properties:
2169+ publicIpv4Pool:
2170+ description: |-
2171+ PublicIpv4Pool sets a custom Public IPv4 Pool used to create Elastic IP address for resources
2172+ created in public IPv4 subnets. Every IPv4 address, Elastic IP, will be allocated from the custom
2173+ Public IPv4 pool that you brought to AWS, instead of Amazon-provided pool. The public IPv4 pool
2174+ resource ID starts with 'ipv4pool-ec2'.
2175+ maxLength: 30
2176+ type: string
2177+ publicIpv4PoolFallbackOrder:
2178+ description: |-
2179+ PublicIpv4PoolFallBackOrder defines the fallback action when the Public IPv4 Pool has been exhausted,
2180+ no more IPv4 address available in the pool.
2181+
2182+
2183+ When set to 'amazon-pool', the controller check if the pool has available IPv4 address, when pool has reached the
2184+ IPv4 limit, the address will be claimed from Amazon-pool (default).
2185+
2186+
2187+ When set to 'none', the controller will fail the Elastic IP allocation when the publicIpv4Pool is exhausted.
2188+ enum:
2189+ - amazon-pool
2190+ - none
2191+ type: string
2192+ x-kubernetes-validations:
2193+ - message: allowed values are 'none' and 'amazon-pool'
2194+ rule: self in ['none','amazon-pool']
2195+ type: object
21632196 emptyRoutesDefaultVPCSecurityGroup:
21642197 description: |-
21652198 EmptyRoutesDefaultVPCSecurityGroup specifies whether the default VPC security group ingress
@@ -4920,6 +4953,39 @@ spec:
49204953 Defaults to 10.0.0.0/16.
49214954 Mutually exclusive with IPAMPool.
49224955 type: string
4956+ elasticIpPool:
4957+ description: |-
4958+ ElasticIPPool contains specific configuration to allocate Public IPv4 address (Elastic IP) from user-defined pool
4959+ brought to AWS for core infrastructure resources, like NAT Gateways and Public Network Load Balancers for
4960+ the API Server.
4961+ properties:
4962+ publicIpv4Pool:
4963+ description: |-
4964+ PublicIpv4Pool sets a custom Public IPv4 Pool used to create Elastic IP address for resources
4965+ created in public IPv4 subnets. Every IPv4 address, Elastic IP, will be allocated from the custom
4966+ Public IPv4 pool that you brought to AWS, instead of Amazon-provided pool. The public IPv4 pool
4967+ resource ID starts with 'ipv4pool-ec2'.
4968+ maxLength: 30
4969+ type: string
4970+ publicIpv4PoolFallbackOrder:
4971+ description: |-
4972+ PublicIpv4PoolFallBackOrder defines the fallback action when the Public IPv4 Pool has been exhausted,
4973+ no more IPv4 address available in the pool.
4974+
4975+
4976+ When set to 'amazon-pool', the controller check if the pool has available IPv4 address, when pool has reached the
4977+ IPv4 limit, the address will be claimed from Amazon-pool (default).
4978+
4979+
4980+ When set to 'none', the controller will fail the Elastic IP allocation when the publicIpv4Pool is exhausted.
4981+ enum:
4982+ - amazon-pool
4983+ - none
4984+ type: string
4985+ x-kubernetes-validations:
4986+ - message: allowed values are 'none' and 'amazon-pool'
4987+ rule: self in ['none','amazon-pool']
4988+ type: object
49234989 emptyRoutesDefaultVPCSecurityGroup:
49244990 description: |-
49254991 EmptyRoutesDefaultVPCSecurityGroup specifies whether the default VPC security group ingress
@@ -7603,6 +7669,37 @@ spec:
76037669 - ssm-parameter-store
76047670 type: string
76057671 type: object
7672+ elasticIpPool:
7673+ description: ElasticIPPool is the configuration to allocate Public
7674+ IPv4 address (Elastic IP/EIP) from user-defined pool.
7675+ properties:
7676+ publicIpv4Pool:
7677+ description: |-
7678+ PublicIpv4Pool sets a custom Public IPv4 Pool used to create Elastic IP address for resources
7679+ created in public IPv4 subnets. Every IPv4 address, Elastic IP, will be allocated from the custom
7680+ Public IPv4 pool that you brought to AWS, instead of Amazon-provided pool. The public IPv4 pool
7681+ resource ID starts with 'ipv4pool-ec2'.
7682+ maxLength: 30
7683+ type: string
7684+ publicIpv4PoolFallbackOrder:
7685+ description: |-
7686+ PublicIpv4PoolFallBackOrder defines the fallback action when the Public IPv4 Pool has been exhausted,
7687+ no more IPv4 address available in the pool.
7688+
7689+
7690+ When set to 'amazon-pool', the controller check if the pool has available IPv4 address, when pool has reached the
7691+ IPv4 limit, the address will be claimed from Amazon-pool (default).
7692+
7693+
7694+ When set to 'none', the controller will fail the Elastic IP allocation when the publicIpv4Pool is exhausted.
7695+ enum:
7696+ - amazon-pool
7697+ - none
7698+ type: string
7699+ x-kubernetes-validations:
7700+ - message: allowed values are 'none' and 'amazon-pool'
7701+ rule: self in ['none','amazon-pool']
7702+ type: object
76067703 iamInstanceProfile:
76077704 description: IAMInstanceProfile is a name of an IAM instance profile
76087705 to assign to the instance
@@ -8745,6 +8842,37 @@ spec:
87458842 - ssm-parameter-store
87468843 type: string
87478844 type: object
8845+ elasticIpPool:
8846+ description: ElasticIPPool is the configuration to allocate
8847+ Public IPv4 address (Elastic IP/EIP) from user-defined pool.
8848+ properties:
8849+ publicIpv4Pool:
8850+ description: |-
8851+ PublicIpv4Pool sets a custom Public IPv4 Pool used to create Elastic IP address for resources
8852+ created in public IPv4 subnets. Every IPv4 address, Elastic IP, will be allocated from the custom
8853+ Public IPv4 pool that you brought to AWS, instead of Amazon-provided pool. The public IPv4 pool
8854+ resource ID starts with 'ipv4pool-ec2'.
8855+ maxLength: 30
8856+ type: string
8857+ publicIpv4PoolFallbackOrder:
8858+ description: |-
8859+ PublicIpv4PoolFallBackOrder defines the fallback action when the Public IPv4 Pool has been exhausted,
8860+ no more IPv4 address available in the pool.
8861+
8862+
8863+ When set to 'amazon-pool', the controller check if the pool has available IPv4 address, when pool has reached the
8864+ IPv4 limit, the address will be claimed from Amazon-pool (default).
8865+
8866+
8867+ When set to 'none', the controller will fail the Elastic IP allocation when the publicIpv4Pool is exhausted.
8868+ enum:
8869+ - amazon-pool
8870+ - none
8871+ type: string
8872+ x-kubernetes-validations:
8873+ - message: allowed values are 'none' and 'amazon-pool'
8874+ rule: self in ['none','amazon-pool']
8875+ type: object
87488876 iamInstanceProfile:
87498877 description: IAMInstanceProfile is a name of an IAM instance
87508878 profile to assign to the instance
@@ -9948,6 +10076,39 @@ spec:
994810076 Defaults to 10.0.0.0/16.
994910077 Mutually exclusive with IPAMPool.
995010078 type: string
10079+ elasticIpPool:
10080+ description: |-
10081+ ElasticIPPool contains specific configuration to allocate Public IPv4 address (Elastic IP) from user-defined pool
10082+ brought to AWS for core infrastructure resources, like NAT Gateways and Public Network Load Balancers for
10083+ the API Server.
10084+ properties:
10085+ publicIpv4Pool:
10086+ description: |-
10087+ PublicIpv4Pool sets a custom Public IPv4 Pool used to create Elastic IP address for resources
10088+ created in public IPv4 subnets. Every IPv4 address, Elastic IP, will be allocated from the custom
10089+ Public IPv4 pool that you brought to AWS, instead of Amazon-provided pool. The public IPv4 pool
10090+ resource ID starts with 'ipv4pool-ec2'.
10091+ maxLength: 30
10092+ type: string
10093+ publicIpv4PoolFallbackOrder:
10094+ description: |-
10095+ PublicIpv4PoolFallBackOrder defines the fallback action when the Public IPv4 Pool has been exhausted,
10096+ no more IPv4 address available in the pool.
10097+
10098+
10099+ When set to 'amazon-pool', the controller check if the pool has available IPv4 address, when pool has reached the
10100+ IPv4 limit, the address will be claimed from Amazon-pool (default).
10101+
10102+
10103+ When set to 'none', the controller will fail the Elastic IP allocation when the publicIpv4Pool is exhausted.
10104+ enum:
10105+ - amazon-pool
10106+ - none
10107+ type: string
10108+ x-kubernetes-validations:
10109+ - message: allowed values are 'none' and 'amazon-pool'
10110+ rule: self in ['none','amazon-pool']
10111+ type: object
995110112 emptyRoutesDefaultVPCSecurityGroup:
995210113 description: |-
995310114 EmptyRoutesDefaultVPCSecurityGroup specifies whether the default VPC security group ingress
@@ -11898,6 +12059,39 @@ spec:
1189812059 Defaults to 10.0.0.0/16.
1189912060 Mutually exclusive with IPAMPool.
1190012061 type: string
12062+ elasticIpPool:
12063+ description: |-
12064+ ElasticIPPool contains specific configuration to allocate Public IPv4 address (Elastic IP) from user-defined pool
12065+ brought to AWS for core infrastructure resources, like NAT Gateways and Public Network Load Balancers for
12066+ the API Server.
12067+ properties:
12068+ publicIpv4Pool:
12069+ description: |-
12070+ PublicIpv4Pool sets a custom Public IPv4 Pool used to create Elastic IP address for resources
12071+ created in public IPv4 subnets. Every IPv4 address, Elastic IP, will be allocated from the custom
12072+ Public IPv4 pool that you brought to AWS, instead of Amazon-provided pool. The public IPv4 pool
12073+ resource ID starts with 'ipv4pool-ec2'.
12074+ maxLength: 30
12075+ type: string
12076+ publicIpv4PoolFallbackOrder:
12077+ description: |-
12078+ PublicIpv4PoolFallBackOrder defines the fallback action when the Public IPv4 Pool has been exhausted,
12079+ no more IPv4 address available in the pool.
12080+
12081+
12082+ When set to 'amazon-pool', the controller check if the pool has available IPv4 address, when pool has reached the
12083+ IPv4 limit, the address will be claimed from Amazon-pool (default).
12084+
12085+
12086+ When set to 'none', the controller will fail the Elastic IP allocation when the publicIpv4Pool is exhausted.
12087+ enum:
12088+ - amazon-pool
12089+ - none
12090+ type: string
12091+ x-kubernetes-validations:
12092+ - message: allowed values are 'none' and 'amazon-pool'
12093+ rule: self in ['none','amazon-pool']
12094+ type: object
1190112095 emptyRoutesDefaultVPCSecurityGroup:
1190212096 description: |-
1190312097 EmptyRoutesDefaultVPCSecurityGroup specifies whether the default VPC security group ingress
@@ -13334,6 +13528,8 @@ spec:
1333413528 - AL2_x86_64
1333513529 - AL2_x86_64_GPU
1333613530 - AL2_ARM_64
13531+ - AL2023_x86_64_STANDARD
13532+ - AL2023_ARM_64_STANDARD
1333713533 - CUSTOM
1333813534 type: string
1333913535 amiVersion:
@@ -13808,6 +14004,8 @@ spec:
1380814004 - AL2_x86_64
1380914005 - AL2_x86_64_GPU
1381014006 - AL2_ARM_64
14007+ - AL2023_x86_64_STANDARD
14008+ - AL2023_ARM_64_STANDARD
1381114009 - CUSTOM
1381214010 type: string
1381314011 amiVersion:
@@ -16412,10 +16610,10 @@ spec:
1641216610 underlying EC2 instances associated with this machine pool.
1641316611 type: object
1641416612 autoRepair:
16415- default: false
16613+ default: true
1641616614 description: |-
1641716615 AutoRepair specifies whether health checks should be enabled for machines
16418- in the NodePool. The default is false .
16616+ in the NodePool. The default is true .
1641916617 type: boolean
1642016618 autoscaling:
1642116619 description: |-
@@ -16507,6 +16705,59 @@ spec:
1650716705 items:
1650816706 type: string
1650916707 type: array
16708+ updateConfig:
16709+ description: UpdateConfig specifies update configurations.
16710+ properties:
16711+ rollingUpdate:
16712+ description: RollingUpdate specifies MaxUnavailable & MaxSurge
16713+ number of nodes during update.
16714+ properties:
16715+ maxSurge:
16716+ anyOf:
16717+ - type: integer
16718+ - type: string
16719+ default: 1
16720+ description: |-
16721+ MaxSurge is the maximum number of nodes that can be provisioned above the desired number of nodes.
16722+ Value can be an absolute number (ex: 5) or a percentage of desired nodes (ex: 10%).
16723+ Absolute number is calculated from percentage by rounding up.
16724+
16725+
16726+ MaxSurge can not be 0 if MaxUnavailable is 0, default is 1.
16727+ Both MaxSurge & MaxUnavailable must use the same units (absolute value or percentage).
16728+
16729+
16730+ Example: when MaxSurge is set to 30%, new nodes can be provisioned immediately
16731+ when the rolling update starts, such that the total number of old and new
16732+ nodes do not exceed 130% of desired nodes. Once old nodes have been
16733+ deleted, new nodes can be provisioned, ensuring that total number of nodes
16734+ running at any time during the update is at most 130% of desired nodes.
16735+ pattern: ^((100|[0-9]{1,2})%|[0-9]+)$
16736+ x-kubernetes-int-or-string: true
16737+ maxUnavailable:
16738+ anyOf:
16739+ - type: integer
16740+ - type: string
16741+ default: 0
16742+ description: |-
16743+ MaxUnavailable is the maximum number of nodes that can be unavailable during the update.
16744+ Value can be an absolute number (ex: 5) or a percentage of desired nodes (ex: 10%).
16745+ Absolute number is calculated from percentage by rounding down.
16746+
16747+
16748+ MaxUnavailable can not be 0 if MaxSurge is 0, default is 0.
16749+ Both MaxUnavailable & MaxSurge must use the same units (absolute value or percentage).
16750+
16751+
16752+ Example: when MaxUnavailable is set to 30%, old nodes can be deleted down to 70% of
16753+ desired nodes immediately when the rolling update starts. Once new nodes
16754+ are ready, more old nodes be deleted, followed by provisioning new nodes,
16755+ ensuring that the total number of nodes available at all times during the
16756+ update is at least 70% of desired nodes.
16757+ pattern: ^((100|[0-9]{1,2})%|[0-9]+)$
16758+ x-kubernetes-int-or-string: true
16759+ type: object
16760+ type: object
1651016761 version:
1651116762 description: |-
1651216763 Version specifies the OpenShift version of the nodes associated with this machinepool.
@@ -17219,7 +17470,7 @@ spec:
1721917470 env:
1722017471 - name: AWS_SHARED_CREDENTIALS_FILE
1722117472 value: /home/.aws/credentials
17222- image: gcr.io/k8s-staging-cluster-api-aws/cluster-api-aws-controller:latest
17473+ image: gcr.io/k8s-staging-cluster-api-aws/cluster-api-aws-controller:v2.4.1
1722317474 imagePullPolicy: IfNotPresent
1722417475 livenessProbe:
1722517476 failureThreshold: 3
0 commit comments