Skip to content

Commit 8c53e55

Browse files
committed
capi/aws: update infra CRD
1 parent 95a7802 commit 8c53e55

File tree

1 file changed

+254
-3
lines changed

1 file changed

+254
-3
lines changed

data/data/cluster-api/aws-infrastructure-components.yaml

Lines changed: 254 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)