aws-cdk.aws-eks-v2-alpha 2.180.0a0__tar.gz → 2.181.1a0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk.aws-eks-v2-alpha might be problematic. Click here for more details.
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0/src/aws_cdk.aws_eks_v2_alpha.egg-info → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/PKG-INFO +126 -4
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/README.md +124 -2
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/setup.py +3 -3
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/src/aws_cdk/aws_eks_v2_alpha/__init__.py +301 -20
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/src/aws_cdk/aws_eks_v2_alpha/_jsii/__init__.py +2 -2
- aws_cdk_aws_eks_v2_alpha-2.181.1a0/src/aws_cdk/aws_eks_v2_alpha/_jsii/aws-eks-v2-alpha@2.181.1-alpha.0.jsii.tgz +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0/src/aws_cdk.aws_eks_v2_alpha.egg-info}/PKG-INFO +126 -4
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/src/aws_cdk.aws_eks_v2_alpha.egg-info/SOURCES.txt +1 -1
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/src/aws_cdk.aws_eks_v2_alpha.egg-info/requires.txt +1 -1
- aws_cdk_aws_eks_v2_alpha-2.180.0a0/src/aws_cdk/aws_eks_v2_alpha/_jsii/aws-eks-v2-alpha@2.180.0-alpha.0.jsii.tgz +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/LICENSE +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/MANIFEST.in +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/NOTICE +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/pyproject.toml +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/setup.cfg +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/src/aws_cdk/aws_eks_v2_alpha/py.typed +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/src/aws_cdk.aws_eks_v2_alpha.egg-info/dependency_links.txt +0 -0
- {aws_cdk_aws_eks_v2_alpha-2.180.0a0 → aws_cdk_aws_eks_v2_alpha-2.181.1a0}/src/aws_cdk.aws_eks_v2_alpha.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-cdk.aws-eks-v2-alpha
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.181.1a0
|
|
4
4
|
Summary: The CDK Construct Library for AWS::EKS
|
|
5
5
|
Home-page: https://github.com/aws/aws-cdk
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -23,7 +23,7 @@ Requires-Python: ~=3.8
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
License-File: NOTICE
|
|
26
|
-
Requires-Dist: aws-cdk-lib<3.0.0,>=2.
|
|
26
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.181.1
|
|
27
27
|
Requires-Dist: constructs<11.0.0,>=10.0.0
|
|
28
28
|
Requires-Dist: jsii<2.0.0,>=1.106.0
|
|
29
29
|
Requires-Dist: publication>=0.0.3
|
|
@@ -131,6 +131,121 @@ eks.Cluster(self, "hello-eks",
|
|
|
131
131
|
)
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
## EKS Auto Mode
|
|
135
|
+
|
|
136
|
+
[Amazon EKS Auto Mode](https://aws.amazon.com/eks/auto-mode/) extends AWS management of Kubernetes clusters beyond the cluster itself, allowing AWS to set up and manage the infrastructure that enables the smooth operation of your workloads.
|
|
137
|
+
|
|
138
|
+
### Using Auto Mode
|
|
139
|
+
|
|
140
|
+
While `aws-eks` uses `DefaultCapacityType.NODEGROUP` by default, `aws-eks-v2` uses `DefaultCapacityType.AUTOMODE` as the default capacity type.
|
|
141
|
+
|
|
142
|
+
Auto Mode is enabled by default when creating a new cluster without specifying any capacity-related properties:
|
|
143
|
+
|
|
144
|
+
```python
|
|
145
|
+
# Create EKS cluster with Auto Mode implicitly enabled
|
|
146
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
147
|
+
version=eks.KubernetesVersion.V1_32
|
|
148
|
+
)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
You can also explicitly enable Auto Mode using `defaultCapacityType`:
|
|
152
|
+
|
|
153
|
+
```python
|
|
154
|
+
# Create EKS cluster with Auto Mode explicitly enabled
|
|
155
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
156
|
+
version=eks.KubernetesVersion.V1_32,
|
|
157
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE
|
|
158
|
+
)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Node Pools
|
|
162
|
+
|
|
163
|
+
When Auto Mode is enabled, the cluster comes with two default node pools:
|
|
164
|
+
|
|
165
|
+
* `system`: For running system components and add-ons
|
|
166
|
+
* `general-purpose`: For running your application workloads
|
|
167
|
+
|
|
168
|
+
These node pools are managed automatically by EKS. You can configure which node pools to enable through the `compute` property:
|
|
169
|
+
|
|
170
|
+
```python
|
|
171
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
172
|
+
version=eks.KubernetesVersion.V1_32,
|
|
173
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
174
|
+
compute=eks.ComputeConfig(
|
|
175
|
+
node_pools=["system", "general-purpose"]
|
|
176
|
+
)
|
|
177
|
+
)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
For more information, see [Create a Node Pool for EKS Auto Mode](https://docs.aws.amazon.com/eks/latest/userguide/create-node-pool.html).
|
|
181
|
+
|
|
182
|
+
### Node Groups as the default capacity type
|
|
183
|
+
|
|
184
|
+
If you prefer to manage your own node groups instead of using Auto Mode, you can use the traditional node group approach by specifying `defaultCapacityType` as `NODEGROUP`:
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
# Create EKS cluster with traditional managed node group
|
|
188
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
189
|
+
version=eks.KubernetesVersion.V1_32,
|
|
190
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
191
|
+
default_capacity=3, # Number of instances
|
|
192
|
+
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)
|
|
193
|
+
)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
You can also create a cluster with no initial capacity and add node groups later:
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
200
|
+
version=eks.KubernetesVersion.V1_32,
|
|
201
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
202
|
+
default_capacity=0
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
# Add node groups as needed
|
|
206
|
+
cluster.add_nodegroup_capacity("custom-node-group",
|
|
207
|
+
min_size=1,
|
|
208
|
+
max_size=3,
|
|
209
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)]
|
|
210
|
+
)
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Read [Managed node groups](#managed-node-groups) for more information on how to add node groups to the cluster.
|
|
214
|
+
|
|
215
|
+
### Mixed with Auto Mode and Node Groups
|
|
216
|
+
|
|
217
|
+
You can combine Auto Mode with traditional node groups for specific workload requirements:
|
|
218
|
+
|
|
219
|
+
```python
|
|
220
|
+
cluster = eks.Cluster(self, "Cluster",
|
|
221
|
+
version=eks.KubernetesVersion.V1_32,
|
|
222
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
223
|
+
compute=eks.ComputeConfig(
|
|
224
|
+
node_pools=["system", "general-purpose"]
|
|
225
|
+
)
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
# Add specialized node group for specific workloads
|
|
229
|
+
cluster.add_nodegroup_capacity("specialized-workload",
|
|
230
|
+
min_size=1,
|
|
231
|
+
max_size=3,
|
|
232
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.C5, ec2.InstanceSize.XLARGE)],
|
|
233
|
+
labels={
|
|
234
|
+
"workload": "specialized"
|
|
235
|
+
}
|
|
236
|
+
)
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Important Notes
|
|
240
|
+
|
|
241
|
+
1. Auto Mode and traditional capacity management are mutually exclusive at the default capacity level. You cannot opt in to Auto Mode and specify `defaultCapacity` or `defaultCapacityInstance`.
|
|
242
|
+
2. When Auto Mode is enabled:
|
|
243
|
+
|
|
244
|
+
* The cluster will automatically manage compute resources
|
|
245
|
+
* Node pools cannot be modified, only enabled or disabled
|
|
246
|
+
* EKS will handle scaling and management of the node pools
|
|
247
|
+
3. Auto Mode requires specific IAM permissions. The construct will automatically attach the required managed policies.
|
|
248
|
+
|
|
134
249
|
### Managed node groups
|
|
135
250
|
|
|
136
251
|
Amazon EKS managed node groups automate the provisioning and lifecycle management of nodes (Amazon EC2 instances) for Amazon EKS Kubernetes clusters.
|
|
@@ -138,15 +253,21 @@ With Amazon EKS managed node groups, you don't need to separately provision or r
|
|
|
138
253
|
|
|
139
254
|
> For more details visit [Amazon EKS Managed Node Groups](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html).
|
|
140
255
|
|
|
141
|
-
|
|
256
|
+
By default, when using `DefaultCapacityType.NODEGROUP`, this library will allocate a managed node group with 2 *m5.large* instances (this instance type suits most common use-cases, and is good value for money).
|
|
142
257
|
|
|
143
|
-
|
|
258
|
+
```python
|
|
259
|
+
eks.Cluster(self, "HelloEKS",
|
|
260
|
+
version=eks.KubernetesVersion.V1_32,
|
|
261
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP
|
|
262
|
+
)
|
|
263
|
+
```
|
|
144
264
|
|
|
145
265
|
At cluster instantiation time, you can customize the number of instances and their type:
|
|
146
266
|
|
|
147
267
|
```python
|
|
148
268
|
eks.Cluster(self, "HelloEKS",
|
|
149
269
|
version=eks.KubernetesVersion.V1_32,
|
|
270
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
150
271
|
default_capacity=5,
|
|
151
272
|
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.SMALL)
|
|
152
273
|
)
|
|
@@ -159,6 +280,7 @@ Additional customizations are available post instantiation. To apply them, set t
|
|
|
159
280
|
```python
|
|
160
281
|
cluster = eks.Cluster(self, "HelloEKS",
|
|
161
282
|
version=eks.KubernetesVersion.V1_32,
|
|
283
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
162
284
|
default_capacity=0
|
|
163
285
|
)
|
|
164
286
|
|
|
@@ -100,6 +100,121 @@ eks.Cluster(self, "hello-eks",
|
|
|
100
100
|
)
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
+
## EKS Auto Mode
|
|
104
|
+
|
|
105
|
+
[Amazon EKS Auto Mode](https://aws.amazon.com/eks/auto-mode/) extends AWS management of Kubernetes clusters beyond the cluster itself, allowing AWS to set up and manage the infrastructure that enables the smooth operation of your workloads.
|
|
106
|
+
|
|
107
|
+
### Using Auto Mode
|
|
108
|
+
|
|
109
|
+
While `aws-eks` uses `DefaultCapacityType.NODEGROUP` by default, `aws-eks-v2` uses `DefaultCapacityType.AUTOMODE` as the default capacity type.
|
|
110
|
+
|
|
111
|
+
Auto Mode is enabled by default when creating a new cluster without specifying any capacity-related properties:
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
# Create EKS cluster with Auto Mode implicitly enabled
|
|
115
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
116
|
+
version=eks.KubernetesVersion.V1_32
|
|
117
|
+
)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
You can also explicitly enable Auto Mode using `defaultCapacityType`:
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
# Create EKS cluster with Auto Mode explicitly enabled
|
|
124
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
125
|
+
version=eks.KubernetesVersion.V1_32,
|
|
126
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE
|
|
127
|
+
)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Node Pools
|
|
131
|
+
|
|
132
|
+
When Auto Mode is enabled, the cluster comes with two default node pools:
|
|
133
|
+
|
|
134
|
+
* `system`: For running system components and add-ons
|
|
135
|
+
* `general-purpose`: For running your application workloads
|
|
136
|
+
|
|
137
|
+
These node pools are managed automatically by EKS. You can configure which node pools to enable through the `compute` property:
|
|
138
|
+
|
|
139
|
+
```python
|
|
140
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
141
|
+
version=eks.KubernetesVersion.V1_32,
|
|
142
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
143
|
+
compute=eks.ComputeConfig(
|
|
144
|
+
node_pools=["system", "general-purpose"]
|
|
145
|
+
)
|
|
146
|
+
)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
For more information, see [Create a Node Pool for EKS Auto Mode](https://docs.aws.amazon.com/eks/latest/userguide/create-node-pool.html).
|
|
150
|
+
|
|
151
|
+
### Node Groups as the default capacity type
|
|
152
|
+
|
|
153
|
+
If you prefer to manage your own node groups instead of using Auto Mode, you can use the traditional node group approach by specifying `defaultCapacityType` as `NODEGROUP`:
|
|
154
|
+
|
|
155
|
+
```python
|
|
156
|
+
# Create EKS cluster with traditional managed node group
|
|
157
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
158
|
+
version=eks.KubernetesVersion.V1_32,
|
|
159
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
160
|
+
default_capacity=3, # Number of instances
|
|
161
|
+
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)
|
|
162
|
+
)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
You can also create a cluster with no initial capacity and add node groups later:
|
|
166
|
+
|
|
167
|
+
```python
|
|
168
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
169
|
+
version=eks.KubernetesVersion.V1_32,
|
|
170
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
171
|
+
default_capacity=0
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
# Add node groups as needed
|
|
175
|
+
cluster.add_nodegroup_capacity("custom-node-group",
|
|
176
|
+
min_size=1,
|
|
177
|
+
max_size=3,
|
|
178
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)]
|
|
179
|
+
)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Read [Managed node groups](#managed-node-groups) for more information on how to add node groups to the cluster.
|
|
183
|
+
|
|
184
|
+
### Mixed with Auto Mode and Node Groups
|
|
185
|
+
|
|
186
|
+
You can combine Auto Mode with traditional node groups for specific workload requirements:
|
|
187
|
+
|
|
188
|
+
```python
|
|
189
|
+
cluster = eks.Cluster(self, "Cluster",
|
|
190
|
+
version=eks.KubernetesVersion.V1_32,
|
|
191
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
192
|
+
compute=eks.ComputeConfig(
|
|
193
|
+
node_pools=["system", "general-purpose"]
|
|
194
|
+
)
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
# Add specialized node group for specific workloads
|
|
198
|
+
cluster.add_nodegroup_capacity("specialized-workload",
|
|
199
|
+
min_size=1,
|
|
200
|
+
max_size=3,
|
|
201
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.C5, ec2.InstanceSize.XLARGE)],
|
|
202
|
+
labels={
|
|
203
|
+
"workload": "specialized"
|
|
204
|
+
}
|
|
205
|
+
)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Important Notes
|
|
209
|
+
|
|
210
|
+
1. Auto Mode and traditional capacity management are mutually exclusive at the default capacity level. You cannot opt in to Auto Mode and specify `defaultCapacity` or `defaultCapacityInstance`.
|
|
211
|
+
2. When Auto Mode is enabled:
|
|
212
|
+
|
|
213
|
+
* The cluster will automatically manage compute resources
|
|
214
|
+
* Node pools cannot be modified, only enabled or disabled
|
|
215
|
+
* EKS will handle scaling and management of the node pools
|
|
216
|
+
3. Auto Mode requires specific IAM permissions. The construct will automatically attach the required managed policies.
|
|
217
|
+
|
|
103
218
|
### Managed node groups
|
|
104
219
|
|
|
105
220
|
Amazon EKS managed node groups automate the provisioning and lifecycle management of nodes (Amazon EC2 instances) for Amazon EKS Kubernetes clusters.
|
|
@@ -107,15 +222,21 @@ With Amazon EKS managed node groups, you don't need to separately provision or r
|
|
|
107
222
|
|
|
108
223
|
> For more details visit [Amazon EKS Managed Node Groups](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html).
|
|
109
224
|
|
|
110
|
-
|
|
225
|
+
By default, when using `DefaultCapacityType.NODEGROUP`, this library will allocate a managed node group with 2 *m5.large* instances (this instance type suits most common use-cases, and is good value for money).
|
|
111
226
|
|
|
112
|
-
|
|
227
|
+
```python
|
|
228
|
+
eks.Cluster(self, "HelloEKS",
|
|
229
|
+
version=eks.KubernetesVersion.V1_32,
|
|
230
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP
|
|
231
|
+
)
|
|
232
|
+
```
|
|
113
233
|
|
|
114
234
|
At cluster instantiation time, you can customize the number of instances and their type:
|
|
115
235
|
|
|
116
236
|
```python
|
|
117
237
|
eks.Cluster(self, "HelloEKS",
|
|
118
238
|
version=eks.KubernetesVersion.V1_32,
|
|
239
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
119
240
|
default_capacity=5,
|
|
120
241
|
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.SMALL)
|
|
121
242
|
)
|
|
@@ -128,6 +249,7 @@ Additional customizations are available post instantiation. To apply them, set t
|
|
|
128
249
|
```python
|
|
129
250
|
cluster = eks.Cluster(self, "HelloEKS",
|
|
130
251
|
version=eks.KubernetesVersion.V1_32,
|
|
252
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
131
253
|
default_capacity=0
|
|
132
254
|
)
|
|
133
255
|
|
|
@@ -5,7 +5,7 @@ kwargs = json.loads(
|
|
|
5
5
|
"""
|
|
6
6
|
{
|
|
7
7
|
"name": "aws-cdk.aws-eks-v2-alpha",
|
|
8
|
-
"version": "2.
|
|
8
|
+
"version": "2.181.1.a0",
|
|
9
9
|
"description": "The CDK Construct Library for AWS::EKS",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"url": "https://github.com/aws/aws-cdk",
|
|
@@ -26,7 +26,7 @@ kwargs = json.loads(
|
|
|
26
26
|
],
|
|
27
27
|
"package_data": {
|
|
28
28
|
"aws_cdk.aws_eks_v2_alpha._jsii": [
|
|
29
|
-
"aws-eks-v2-alpha@2.
|
|
29
|
+
"aws-eks-v2-alpha@2.181.1-alpha.0.jsii.tgz"
|
|
30
30
|
],
|
|
31
31
|
"aws_cdk.aws_eks_v2_alpha": [
|
|
32
32
|
"py.typed"
|
|
@@ -34,7 +34,7 @@ kwargs = json.loads(
|
|
|
34
34
|
},
|
|
35
35
|
"python_requires": "~=3.8",
|
|
36
36
|
"install_requires": [
|
|
37
|
-
"aws-cdk-lib>=2.
|
|
37
|
+
"aws-cdk-lib>=2.181.1, <3.0.0",
|
|
38
38
|
"constructs>=10.0.0, <11.0.0",
|
|
39
39
|
"jsii>=1.106.0, <2.0.0",
|
|
40
40
|
"publication>=0.0.3",
|
|
@@ -101,6 +101,121 @@ eks.Cluster(self, "hello-eks",
|
|
|
101
101
|
)
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
+
## EKS Auto Mode
|
|
105
|
+
|
|
106
|
+
[Amazon EKS Auto Mode](https://aws.amazon.com/eks/auto-mode/) extends AWS management of Kubernetes clusters beyond the cluster itself, allowing AWS to set up and manage the infrastructure that enables the smooth operation of your workloads.
|
|
107
|
+
|
|
108
|
+
### Using Auto Mode
|
|
109
|
+
|
|
110
|
+
While `aws-eks` uses `DefaultCapacityType.NODEGROUP` by default, `aws-eks-v2` uses `DefaultCapacityType.AUTOMODE` as the default capacity type.
|
|
111
|
+
|
|
112
|
+
Auto Mode is enabled by default when creating a new cluster without specifying any capacity-related properties:
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
# Create EKS cluster with Auto Mode implicitly enabled
|
|
116
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
117
|
+
version=eks.KubernetesVersion.V1_32
|
|
118
|
+
)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
You can also explicitly enable Auto Mode using `defaultCapacityType`:
|
|
122
|
+
|
|
123
|
+
```python
|
|
124
|
+
# Create EKS cluster with Auto Mode explicitly enabled
|
|
125
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
126
|
+
version=eks.KubernetesVersion.V1_32,
|
|
127
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE
|
|
128
|
+
)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Node Pools
|
|
132
|
+
|
|
133
|
+
When Auto Mode is enabled, the cluster comes with two default node pools:
|
|
134
|
+
|
|
135
|
+
* `system`: For running system components and add-ons
|
|
136
|
+
* `general-purpose`: For running your application workloads
|
|
137
|
+
|
|
138
|
+
These node pools are managed automatically by EKS. You can configure which node pools to enable through the `compute` property:
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
142
|
+
version=eks.KubernetesVersion.V1_32,
|
|
143
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
144
|
+
compute=eks.ComputeConfig(
|
|
145
|
+
node_pools=["system", "general-purpose"]
|
|
146
|
+
)
|
|
147
|
+
)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
For more information, see [Create a Node Pool for EKS Auto Mode](https://docs.aws.amazon.com/eks/latest/userguide/create-node-pool.html).
|
|
151
|
+
|
|
152
|
+
### Node Groups as the default capacity type
|
|
153
|
+
|
|
154
|
+
If you prefer to manage your own node groups instead of using Auto Mode, you can use the traditional node group approach by specifying `defaultCapacityType` as `NODEGROUP`:
|
|
155
|
+
|
|
156
|
+
```python
|
|
157
|
+
# Create EKS cluster with traditional managed node group
|
|
158
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
159
|
+
version=eks.KubernetesVersion.V1_32,
|
|
160
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
161
|
+
default_capacity=3, # Number of instances
|
|
162
|
+
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)
|
|
163
|
+
)
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
You can also create a cluster with no initial capacity and add node groups later:
|
|
167
|
+
|
|
168
|
+
```python
|
|
169
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
170
|
+
version=eks.KubernetesVersion.V1_32,
|
|
171
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
172
|
+
default_capacity=0
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
# Add node groups as needed
|
|
176
|
+
cluster.add_nodegroup_capacity("custom-node-group",
|
|
177
|
+
min_size=1,
|
|
178
|
+
max_size=3,
|
|
179
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)]
|
|
180
|
+
)
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Read [Managed node groups](#managed-node-groups) for more information on how to add node groups to the cluster.
|
|
184
|
+
|
|
185
|
+
### Mixed with Auto Mode and Node Groups
|
|
186
|
+
|
|
187
|
+
You can combine Auto Mode with traditional node groups for specific workload requirements:
|
|
188
|
+
|
|
189
|
+
```python
|
|
190
|
+
cluster = eks.Cluster(self, "Cluster",
|
|
191
|
+
version=eks.KubernetesVersion.V1_32,
|
|
192
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
193
|
+
compute=eks.ComputeConfig(
|
|
194
|
+
node_pools=["system", "general-purpose"]
|
|
195
|
+
)
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
# Add specialized node group for specific workloads
|
|
199
|
+
cluster.add_nodegroup_capacity("specialized-workload",
|
|
200
|
+
min_size=1,
|
|
201
|
+
max_size=3,
|
|
202
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.C5, ec2.InstanceSize.XLARGE)],
|
|
203
|
+
labels={
|
|
204
|
+
"workload": "specialized"
|
|
205
|
+
}
|
|
206
|
+
)
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Important Notes
|
|
210
|
+
|
|
211
|
+
1. Auto Mode and traditional capacity management are mutually exclusive at the default capacity level. You cannot opt in to Auto Mode and specify `defaultCapacity` or `defaultCapacityInstance`.
|
|
212
|
+
2. When Auto Mode is enabled:
|
|
213
|
+
|
|
214
|
+
* The cluster will automatically manage compute resources
|
|
215
|
+
* Node pools cannot be modified, only enabled or disabled
|
|
216
|
+
* EKS will handle scaling and management of the node pools
|
|
217
|
+
3. Auto Mode requires specific IAM permissions. The construct will automatically attach the required managed policies.
|
|
218
|
+
|
|
104
219
|
### Managed node groups
|
|
105
220
|
|
|
106
221
|
Amazon EKS managed node groups automate the provisioning and lifecycle management of nodes (Amazon EC2 instances) for Amazon EKS Kubernetes clusters.
|
|
@@ -108,15 +223,21 @@ With Amazon EKS managed node groups, you don't need to separately provision or r
|
|
|
108
223
|
|
|
109
224
|
> For more details visit [Amazon EKS Managed Node Groups](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html).
|
|
110
225
|
|
|
111
|
-
|
|
226
|
+
By default, when using `DefaultCapacityType.NODEGROUP`, this library will allocate a managed node group with 2 *m5.large* instances (this instance type suits most common use-cases, and is good value for money).
|
|
112
227
|
|
|
113
|
-
|
|
228
|
+
```python
|
|
229
|
+
eks.Cluster(self, "HelloEKS",
|
|
230
|
+
version=eks.KubernetesVersion.V1_32,
|
|
231
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP
|
|
232
|
+
)
|
|
233
|
+
```
|
|
114
234
|
|
|
115
235
|
At cluster instantiation time, you can customize the number of instances and their type:
|
|
116
236
|
|
|
117
237
|
```python
|
|
118
238
|
eks.Cluster(self, "HelloEKS",
|
|
119
239
|
version=eks.KubernetesVersion.V1_32,
|
|
240
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
120
241
|
default_capacity=5,
|
|
121
242
|
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.SMALL)
|
|
122
243
|
)
|
|
@@ -129,6 +250,7 @@ Additional customizations are available post instantiation. To apply them, set t
|
|
|
129
250
|
```python
|
|
130
251
|
cluster = eks.Cluster(self, "HelloEKS",
|
|
131
252
|
version=eks.KubernetesVersion.V1_32,
|
|
253
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
132
254
|
default_capacity=0
|
|
133
255
|
)
|
|
134
256
|
|
|
@@ -4372,9 +4494,11 @@ class ClusterLoggingTypes(enum.Enum):
|
|
|
4372
4494
|
"vpc": "vpc",
|
|
4373
4495
|
"vpc_subnets": "vpcSubnets",
|
|
4374
4496
|
"bootstrap_cluster_creator_admin_permissions": "bootstrapClusterCreatorAdminPermissions",
|
|
4497
|
+
"compute": "compute",
|
|
4375
4498
|
"default_capacity": "defaultCapacity",
|
|
4376
4499
|
"default_capacity_instance": "defaultCapacityInstance",
|
|
4377
4500
|
"default_capacity_type": "defaultCapacityType",
|
|
4501
|
+
"output_config_command": "outputConfigCommand",
|
|
4378
4502
|
},
|
|
4379
4503
|
)
|
|
4380
4504
|
class ClusterProps(ClusterCommonOptions):
|
|
@@ -4399,9 +4523,11 @@ class ClusterProps(ClusterCommonOptions):
|
|
|
4399
4523
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4400
4524
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4401
4525
|
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
4526
|
+
compute: typing.Optional[typing.Union["ComputeConfig", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4402
4527
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
4403
4528
|
default_capacity_instance: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
4404
4529
|
default_capacity_type: typing.Optional["DefaultCapacityType"] = None,
|
|
4530
|
+
output_config_command: typing.Optional[builtins.bool] = None,
|
|
4405
4531
|
) -> None:
|
|
4406
4532
|
'''(experimental) Properties for configuring a standard EKS cluster (non-Fargate).
|
|
4407
4533
|
|
|
@@ -4423,30 +4549,31 @@ class ClusterProps(ClusterCommonOptions):
|
|
|
4423
4549
|
:param vpc: (experimental) The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
|
|
4424
4550
|
:param vpc_subnets: (experimental) Where to place EKS Control Plane ENIs. For example, to only select private subnets, supply the following: ``vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }]`` Default: - All public and private subnets
|
|
4425
4551
|
:param bootstrap_cluster_creator_admin_permissions: (experimental) Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
|
|
4552
|
+
:param compute: (experimental) Configuration for compute settings in Auto Mode. When enabled, EKS will automatically manage compute resources. Default: - Auto Mode compute disabled
|
|
4426
4553
|
:param default_capacity: (experimental) Number of instances to allocate as an initial capacity for this cluster. Instance type can be configured through ``defaultCapacityInstanceType``, which defaults to ``m5.large``. Use ``cluster.addAutoScalingGroupCapacity`` to add additional customized capacity. Set this to ``0`` is you wish to avoid the initial capacity allocation. Default: 2
|
|
4427
4554
|
:param default_capacity_instance: (experimental) The instance type to use for the default capacity. This will only be taken into account if ``defaultCapacity`` is > 0. Default: m5.large
|
|
4428
4555
|
:param default_capacity_type: (experimental) The default capacity type for the cluster. Default: NODEGROUP
|
|
4556
|
+
:param output_config_command: (experimental) Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
|
|
4429
4557
|
|
|
4430
4558
|
:stability: experimental
|
|
4431
4559
|
:exampleMetadata: infused
|
|
4432
4560
|
|
|
4433
4561
|
Example::
|
|
4434
4562
|
|
|
4435
|
-
cluster = eks.Cluster(self, "
|
|
4563
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
4436
4564
|
version=eks.KubernetesVersion.V1_32,
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
instance_types=[ec2.InstanceType("m5.large")],
|
|
4442
|
-
min_size=4,
|
|
4443
|
-
disk_size=100
|
|
4565
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
4566
|
+
compute=eks.ComputeConfig(
|
|
4567
|
+
node_pools=["system", "general-purpose"]
|
|
4568
|
+
)
|
|
4444
4569
|
)
|
|
4445
4570
|
'''
|
|
4446
4571
|
if isinstance(alb_controller, dict):
|
|
4447
4572
|
alb_controller = AlbControllerOptions(**alb_controller)
|
|
4448
4573
|
if isinstance(kubectl_provider_options, dict):
|
|
4449
4574
|
kubectl_provider_options = KubectlProviderOptions(**kubectl_provider_options)
|
|
4575
|
+
if isinstance(compute, dict):
|
|
4576
|
+
compute = ComputeConfig(**compute)
|
|
4450
4577
|
if __debug__:
|
|
4451
4578
|
type_hints = typing.get_type_hints(_typecheckingstub__cdebba88d00ede95b7f48fc97c266609fdb0fc0ef3bb709493d319c84ab460db)
|
|
4452
4579
|
check_type(argname="argument version", value=version, expected_type=type_hints["version"])
|
|
@@ -4467,9 +4594,11 @@ class ClusterProps(ClusterCommonOptions):
|
|
|
4467
4594
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
4468
4595
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
4469
4596
|
check_type(argname="argument bootstrap_cluster_creator_admin_permissions", value=bootstrap_cluster_creator_admin_permissions, expected_type=type_hints["bootstrap_cluster_creator_admin_permissions"])
|
|
4597
|
+
check_type(argname="argument compute", value=compute, expected_type=type_hints["compute"])
|
|
4470
4598
|
check_type(argname="argument default_capacity", value=default_capacity, expected_type=type_hints["default_capacity"])
|
|
4471
4599
|
check_type(argname="argument default_capacity_instance", value=default_capacity_instance, expected_type=type_hints["default_capacity_instance"])
|
|
4472
4600
|
check_type(argname="argument default_capacity_type", value=default_capacity_type, expected_type=type_hints["default_capacity_type"])
|
|
4601
|
+
check_type(argname="argument output_config_command", value=output_config_command, expected_type=type_hints["output_config_command"])
|
|
4473
4602
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4474
4603
|
"version": version,
|
|
4475
4604
|
}
|
|
@@ -4507,12 +4636,16 @@ class ClusterProps(ClusterCommonOptions):
|
|
|
4507
4636
|
self._values["vpc_subnets"] = vpc_subnets
|
|
4508
4637
|
if bootstrap_cluster_creator_admin_permissions is not None:
|
|
4509
4638
|
self._values["bootstrap_cluster_creator_admin_permissions"] = bootstrap_cluster_creator_admin_permissions
|
|
4639
|
+
if compute is not None:
|
|
4640
|
+
self._values["compute"] = compute
|
|
4510
4641
|
if default_capacity is not None:
|
|
4511
4642
|
self._values["default_capacity"] = default_capacity
|
|
4512
4643
|
if default_capacity_instance is not None:
|
|
4513
4644
|
self._values["default_capacity_instance"] = default_capacity_instance
|
|
4514
4645
|
if default_capacity_type is not None:
|
|
4515
4646
|
self._values["default_capacity_type"] = default_capacity_type
|
|
4647
|
+
if output_config_command is not None:
|
|
4648
|
+
self._values["output_config_command"] = output_config_command
|
|
4516
4649
|
|
|
4517
4650
|
@builtins.property
|
|
4518
4651
|
def version(self) -> "KubernetesVersion":
|
|
@@ -4741,6 +4874,19 @@ class ClusterProps(ClusterCommonOptions):
|
|
|
4741
4874
|
result = self._values.get("bootstrap_cluster_creator_admin_permissions")
|
|
4742
4875
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4743
4876
|
|
|
4877
|
+
@builtins.property
|
|
4878
|
+
def compute(self) -> typing.Optional["ComputeConfig"]:
|
|
4879
|
+
'''(experimental) Configuration for compute settings in Auto Mode.
|
|
4880
|
+
|
|
4881
|
+
When enabled, EKS will automatically manage compute resources.
|
|
4882
|
+
|
|
4883
|
+
:default: - Auto Mode compute disabled
|
|
4884
|
+
|
|
4885
|
+
:stability: experimental
|
|
4886
|
+
'''
|
|
4887
|
+
result = self._values.get("compute")
|
|
4888
|
+
return typing.cast(typing.Optional["ComputeConfig"], result)
|
|
4889
|
+
|
|
4744
4890
|
@builtins.property
|
|
4745
4891
|
def default_capacity(self) -> typing.Optional[jsii.Number]:
|
|
4746
4892
|
'''(experimental) Number of instances to allocate as an initial capacity for this cluster.
|
|
@@ -4785,6 +4931,20 @@ class ClusterProps(ClusterCommonOptions):
|
|
|
4785
4931
|
result = self._values.get("default_capacity_type")
|
|
4786
4932
|
return typing.cast(typing.Optional["DefaultCapacityType"], result)
|
|
4787
4933
|
|
|
4934
|
+
@builtins.property
|
|
4935
|
+
def output_config_command(self) -> typing.Optional[builtins.bool]:
|
|
4936
|
+
'''(experimental) Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized.
|
|
4937
|
+
|
|
4938
|
+
This command will include
|
|
4939
|
+
the cluster name and, if applicable, the ARN of the masters IAM role.
|
|
4940
|
+
|
|
4941
|
+
:default: true
|
|
4942
|
+
|
|
4943
|
+
:stability: experimental
|
|
4944
|
+
'''
|
|
4945
|
+
result = self._values.get("output_config_command")
|
|
4946
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4947
|
+
|
|
4788
4948
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4789
4949
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4790
4950
|
|
|
@@ -4797,6 +4957,87 @@ class ClusterProps(ClusterCommonOptions):
|
|
|
4797
4957
|
)
|
|
4798
4958
|
|
|
4799
4959
|
|
|
4960
|
+
@jsii.data_type(
|
|
4961
|
+
jsii_type="@aws-cdk/aws-eks-v2-alpha.ComputeConfig",
|
|
4962
|
+
jsii_struct_bases=[],
|
|
4963
|
+
name_mapping={"node_pools": "nodePools", "node_role": "nodeRole"},
|
|
4964
|
+
)
|
|
4965
|
+
class ComputeConfig:
|
|
4966
|
+
def __init__(
|
|
4967
|
+
self,
|
|
4968
|
+
*,
|
|
4969
|
+
node_pools: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4970
|
+
node_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
4971
|
+
) -> None:
|
|
4972
|
+
'''(experimental) Options for configuring EKS Auto Mode compute settings.
|
|
4973
|
+
|
|
4974
|
+
When enabled, EKS will automatically manage compute resources like node groups and Fargate profiles.
|
|
4975
|
+
|
|
4976
|
+
:param node_pools: (experimental) Names of nodePools to include in Auto Mode. You cannot modify the built in system and general-purpose node pools. You can only enable or disable them. Node pool values are case-sensitive and must be ``general-purpose`` and/or ``system``. Default: - ['system', 'general-purpose']
|
|
4977
|
+
:param node_role: (experimental) IAM role for the nodePools. Default: - generated by the CDK
|
|
4978
|
+
|
|
4979
|
+
:stability: experimental
|
|
4980
|
+
:exampleMetadata: infused
|
|
4981
|
+
|
|
4982
|
+
Example::
|
|
4983
|
+
|
|
4984
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
4985
|
+
version=eks.KubernetesVersion.V1_32,
|
|
4986
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
4987
|
+
compute=eks.ComputeConfig(
|
|
4988
|
+
node_pools=["system", "general-purpose"]
|
|
4989
|
+
)
|
|
4990
|
+
)
|
|
4991
|
+
'''
|
|
4992
|
+
if __debug__:
|
|
4993
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ecd4e0b2b1c23fafd1f01982b69fda08d5f3b0615f7bf8fe543ae2d8e6784f6e)
|
|
4994
|
+
check_type(argname="argument node_pools", value=node_pools, expected_type=type_hints["node_pools"])
|
|
4995
|
+
check_type(argname="argument node_role", value=node_role, expected_type=type_hints["node_role"])
|
|
4996
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4997
|
+
if node_pools is not None:
|
|
4998
|
+
self._values["node_pools"] = node_pools
|
|
4999
|
+
if node_role is not None:
|
|
5000
|
+
self._values["node_role"] = node_role
|
|
5001
|
+
|
|
5002
|
+
@builtins.property
|
|
5003
|
+
def node_pools(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
5004
|
+
'''(experimental) Names of nodePools to include in Auto Mode.
|
|
5005
|
+
|
|
5006
|
+
You cannot modify the built in system and general-purpose node pools. You can only enable or disable them.
|
|
5007
|
+
Node pool values are case-sensitive and must be ``general-purpose`` and/or ``system``.
|
|
5008
|
+
|
|
5009
|
+
:default: - ['system', 'general-purpose']
|
|
5010
|
+
|
|
5011
|
+
:see: - https://docs.aws.amazon.com/eks/latest/userguide/create-node-pool.html
|
|
5012
|
+
:stability: experimental
|
|
5013
|
+
'''
|
|
5014
|
+
result = self._values.get("node_pools")
|
|
5015
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
5016
|
+
|
|
5017
|
+
@builtins.property
|
|
5018
|
+
def node_role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
|
|
5019
|
+
'''(experimental) IAM role for the nodePools.
|
|
5020
|
+
|
|
5021
|
+
:default: - generated by the CDK
|
|
5022
|
+
|
|
5023
|
+
:see: - https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
|
|
5024
|
+
:stability: experimental
|
|
5025
|
+
'''
|
|
5026
|
+
result = self._values.get("node_role")
|
|
5027
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], result)
|
|
5028
|
+
|
|
5029
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5030
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5031
|
+
|
|
5032
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5033
|
+
return not (rhs == self)
|
|
5034
|
+
|
|
5035
|
+
def __repr__(self) -> str:
|
|
5036
|
+
return "ComputeConfig(%s)" % ", ".join(
|
|
5037
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5038
|
+
)
|
|
5039
|
+
|
|
5040
|
+
|
|
4800
5041
|
@jsii.enum(jsii_type="@aws-cdk/aws-eks-v2-alpha.CoreDnsComputeType")
|
|
4801
5042
|
class CoreDnsComputeType(enum.Enum):
|
|
4802
5043
|
'''(experimental) The type of compute resources to use for CoreDNS.
|
|
@@ -4840,6 +5081,21 @@ class DefaultCapacityType(enum.Enum):
|
|
|
4840
5081
|
'''(experimental) The default capacity type for the cluster.
|
|
4841
5082
|
|
|
4842
5083
|
:stability: experimental
|
|
5084
|
+
:exampleMetadata: infused
|
|
5085
|
+
|
|
5086
|
+
Example::
|
|
5087
|
+
|
|
5088
|
+
cluster = eks.Cluster(self, "HelloEKS",
|
|
5089
|
+
version=eks.KubernetesVersion.V1_32,
|
|
5090
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
5091
|
+
default_capacity=0
|
|
5092
|
+
)
|
|
5093
|
+
|
|
5094
|
+
cluster.add_nodegroup_capacity("custom-node-group",
|
|
5095
|
+
instance_types=[ec2.InstanceType("m5.large")],
|
|
5096
|
+
min_size=4,
|
|
5097
|
+
disk_size=100
|
|
5098
|
+
)
|
|
4843
5099
|
'''
|
|
4844
5100
|
|
|
4845
5101
|
NODEGROUP = "NODEGROUP"
|
|
@@ -4852,6 +5108,11 @@ class DefaultCapacityType(enum.Enum):
|
|
|
4852
5108
|
|
|
4853
5109
|
:stability: experimental
|
|
4854
5110
|
'''
|
|
5111
|
+
AUTOMODE = "AUTOMODE"
|
|
5112
|
+
'''(experimental) Auto Mode.
|
|
5113
|
+
|
|
5114
|
+
:stability: experimental
|
|
5115
|
+
'''
|
|
4855
5116
|
|
|
4856
5117
|
|
|
4857
5118
|
@jsii.implements(_aws_cdk_aws_ec2_ceddda9d.IMachineImage)
|
|
@@ -9167,9 +9428,12 @@ class KubernetesVersion(
|
|
|
9167
9428
|
|
|
9168
9429
|
Example::
|
|
9169
9430
|
|
|
9170
|
-
cluster = eks.Cluster(self, "
|
|
9431
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
9171
9432
|
version=eks.KubernetesVersion.V1_32,
|
|
9172
|
-
|
|
9433
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
9434
|
+
compute=eks.ComputeConfig(
|
|
9435
|
+
node_pools=["system", "general-purpose"]
|
|
9436
|
+
)
|
|
9173
9437
|
)
|
|
9174
9438
|
'''
|
|
9175
9439
|
|
|
@@ -9822,6 +10086,7 @@ class NodegroupOptions:
|
|
|
9822
10086
|
|
|
9823
10087
|
cluster = eks.Cluster(self, "HelloEKS",
|
|
9824
10088
|
version=eks.KubernetesVersion.V1_32,
|
|
10089
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
9825
10090
|
default_capacity=0
|
|
9826
10091
|
)
|
|
9827
10092
|
|
|
@@ -12049,15 +12314,12 @@ class Cluster(
|
|
|
12049
12314
|
|
|
12050
12315
|
Example::
|
|
12051
12316
|
|
|
12052
|
-
cluster = eks.Cluster(self, "
|
|
12317
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
12053
12318
|
version=eks.KubernetesVersion.V1_32,
|
|
12054
|
-
|
|
12055
|
-
|
|
12056
|
-
|
|
12057
|
-
|
|
12058
|
-
instance_types=[ec2.InstanceType("m5.large")],
|
|
12059
|
-
min_size=4,
|
|
12060
|
-
disk_size=100
|
|
12319
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
12320
|
+
compute=eks.ComputeConfig(
|
|
12321
|
+
node_pools=["system", "general-purpose"]
|
|
12322
|
+
)
|
|
12061
12323
|
)
|
|
12062
12324
|
'''
|
|
12063
12325
|
|
|
@@ -12067,9 +12329,11 @@ class Cluster(
|
|
|
12067
12329
|
id: builtins.str,
|
|
12068
12330
|
*,
|
|
12069
12331
|
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
12332
|
+
compute: typing.Optional[typing.Union[ComputeConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
12070
12333
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
12071
12334
|
default_capacity_instance: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
12072
12335
|
default_capacity_type: typing.Optional[DefaultCapacityType] = None,
|
|
12336
|
+
output_config_command: typing.Optional[builtins.bool] = None,
|
|
12073
12337
|
version: KubernetesVersion,
|
|
12074
12338
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
12075
12339
|
cluster_logging: typing.Optional[typing.Sequence[ClusterLoggingTypes]] = None,
|
|
@@ -12093,9 +12357,11 @@ class Cluster(
|
|
|
12093
12357
|
:param scope: a Construct, most likely a cdk.Stack created.
|
|
12094
12358
|
:param id: the id of the Construct to create.
|
|
12095
12359
|
:param bootstrap_cluster_creator_admin_permissions: (experimental) Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
|
|
12360
|
+
:param compute: (experimental) Configuration for compute settings in Auto Mode. When enabled, EKS will automatically manage compute resources. Default: - Auto Mode compute disabled
|
|
12096
12361
|
:param default_capacity: (experimental) Number of instances to allocate as an initial capacity for this cluster. Instance type can be configured through ``defaultCapacityInstanceType``, which defaults to ``m5.large``. Use ``cluster.addAutoScalingGroupCapacity`` to add additional customized capacity. Set this to ``0`` is you wish to avoid the initial capacity allocation. Default: 2
|
|
12097
12362
|
:param default_capacity_instance: (experimental) The instance type to use for the default capacity. This will only be taken into account if ``defaultCapacity`` is > 0. Default: m5.large
|
|
12098
12363
|
:param default_capacity_type: (experimental) The default capacity type for the cluster. Default: NODEGROUP
|
|
12364
|
+
:param output_config_command: (experimental) Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
|
|
12099
12365
|
:param version: (experimental) The Kubernetes version to run in the cluster.
|
|
12100
12366
|
:param alb_controller: (experimental) Install the AWS Load Balancer Controller onto the cluster. Default: - The controller is not installed.
|
|
12101
12367
|
:param cluster_logging: (experimental) The cluster log types which you want to enable. Default: - none
|
|
@@ -12122,9 +12388,11 @@ class Cluster(
|
|
|
12122
12388
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
12123
12389
|
props = ClusterProps(
|
|
12124
12390
|
bootstrap_cluster_creator_admin_permissions=bootstrap_cluster_creator_admin_permissions,
|
|
12391
|
+
compute=compute,
|
|
12125
12392
|
default_capacity=default_capacity,
|
|
12126
12393
|
default_capacity_instance=default_capacity_instance,
|
|
12127
12394
|
default_capacity_type=default_capacity_type,
|
|
12395
|
+
output_config_command=output_config_command,
|
|
12128
12396
|
version=version,
|
|
12129
12397
|
alb_controller=alb_controller,
|
|
12130
12398
|
cluster_logging=cluster_logging,
|
|
@@ -13137,6 +13405,7 @@ __all__ = [
|
|
|
13137
13405
|
"ClusterCommonOptions",
|
|
13138
13406
|
"ClusterLoggingTypes",
|
|
13139
13407
|
"ClusterProps",
|
|
13408
|
+
"ComputeConfig",
|
|
13140
13409
|
"CoreDnsComputeType",
|
|
13141
13410
|
"CpuArch",
|
|
13142
13411
|
"DefaultCapacityType",
|
|
@@ -13436,9 +13705,19 @@ def _typecheckingstub__cdebba88d00ede95b7f48fc97c266609fdb0fc0ef3bb709493d319c84
|
|
|
13436
13705
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
13437
13706
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13438
13707
|
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
13708
|
+
compute: typing.Optional[typing.Union[ComputeConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
13439
13709
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
13440
13710
|
default_capacity_instance: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
13441
13711
|
default_capacity_type: typing.Optional[DefaultCapacityType] = None,
|
|
13712
|
+
output_config_command: typing.Optional[builtins.bool] = None,
|
|
13713
|
+
) -> None:
|
|
13714
|
+
"""Type checking stubs"""
|
|
13715
|
+
pass
|
|
13716
|
+
|
|
13717
|
+
def _typecheckingstub__ecd4e0b2b1c23fafd1f01982b69fda08d5f3b0615f7bf8fe543ae2d8e6784f6e(
|
|
13718
|
+
*,
|
|
13719
|
+
node_pools: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
13720
|
+
node_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
13442
13721
|
) -> None:
|
|
13443
13722
|
"""Type checking stubs"""
|
|
13444
13723
|
pass
|
|
@@ -14076,9 +14355,11 @@ def _typecheckingstub__f953a3ebdf317cd4c17c2caf66c079973022b58e6c5cf124f9d5f0089
|
|
|
14076
14355
|
id: builtins.str,
|
|
14077
14356
|
*,
|
|
14078
14357
|
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
14358
|
+
compute: typing.Optional[typing.Union[ComputeConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
14079
14359
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
14080
14360
|
default_capacity_instance: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
14081
14361
|
default_capacity_type: typing.Optional[DefaultCapacityType] = None,
|
|
14362
|
+
output_config_command: typing.Optional[builtins.bool] = None,
|
|
14082
14363
|
version: KubernetesVersion,
|
|
14083
14364
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
14084
14365
|
cluster_logging: typing.Optional[typing.Sequence[ClusterLoggingTypes]] = None,
|
|
@@ -33,9 +33,9 @@ import constructs._jsii
|
|
|
33
33
|
|
|
34
34
|
__jsii_assembly__ = jsii.JSIIAssembly.load(
|
|
35
35
|
"@aws-cdk/aws-eks-v2-alpha",
|
|
36
|
-
"2.
|
|
36
|
+
"2.181.1-alpha.0",
|
|
37
37
|
__name__[0:-6],
|
|
38
|
-
"aws-eks-v2-alpha@2.
|
|
38
|
+
"aws-eks-v2-alpha@2.181.1-alpha.0.jsii.tgz",
|
|
39
39
|
)
|
|
40
40
|
|
|
41
41
|
__all__ = [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-cdk.aws-eks-v2-alpha
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.181.1a0
|
|
4
4
|
Summary: The CDK Construct Library for AWS::EKS
|
|
5
5
|
Home-page: https://github.com/aws/aws-cdk
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -23,7 +23,7 @@ Requires-Python: ~=3.8
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
License-File: NOTICE
|
|
26
|
-
Requires-Dist: aws-cdk-lib<3.0.0,>=2.
|
|
26
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.181.1
|
|
27
27
|
Requires-Dist: constructs<11.0.0,>=10.0.0
|
|
28
28
|
Requires-Dist: jsii<2.0.0,>=1.106.0
|
|
29
29
|
Requires-Dist: publication>=0.0.3
|
|
@@ -131,6 +131,121 @@ eks.Cluster(self, "hello-eks",
|
|
|
131
131
|
)
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
## EKS Auto Mode
|
|
135
|
+
|
|
136
|
+
[Amazon EKS Auto Mode](https://aws.amazon.com/eks/auto-mode/) extends AWS management of Kubernetes clusters beyond the cluster itself, allowing AWS to set up and manage the infrastructure that enables the smooth operation of your workloads.
|
|
137
|
+
|
|
138
|
+
### Using Auto Mode
|
|
139
|
+
|
|
140
|
+
While `aws-eks` uses `DefaultCapacityType.NODEGROUP` by default, `aws-eks-v2` uses `DefaultCapacityType.AUTOMODE` as the default capacity type.
|
|
141
|
+
|
|
142
|
+
Auto Mode is enabled by default when creating a new cluster without specifying any capacity-related properties:
|
|
143
|
+
|
|
144
|
+
```python
|
|
145
|
+
# Create EKS cluster with Auto Mode implicitly enabled
|
|
146
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
147
|
+
version=eks.KubernetesVersion.V1_32
|
|
148
|
+
)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
You can also explicitly enable Auto Mode using `defaultCapacityType`:
|
|
152
|
+
|
|
153
|
+
```python
|
|
154
|
+
# Create EKS cluster with Auto Mode explicitly enabled
|
|
155
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
156
|
+
version=eks.KubernetesVersion.V1_32,
|
|
157
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE
|
|
158
|
+
)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Node Pools
|
|
162
|
+
|
|
163
|
+
When Auto Mode is enabled, the cluster comes with two default node pools:
|
|
164
|
+
|
|
165
|
+
* `system`: For running system components and add-ons
|
|
166
|
+
* `general-purpose`: For running your application workloads
|
|
167
|
+
|
|
168
|
+
These node pools are managed automatically by EKS. You can configure which node pools to enable through the `compute` property:
|
|
169
|
+
|
|
170
|
+
```python
|
|
171
|
+
cluster = eks.Cluster(self, "EksAutoCluster",
|
|
172
|
+
version=eks.KubernetesVersion.V1_32,
|
|
173
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
174
|
+
compute=eks.ComputeConfig(
|
|
175
|
+
node_pools=["system", "general-purpose"]
|
|
176
|
+
)
|
|
177
|
+
)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
For more information, see [Create a Node Pool for EKS Auto Mode](https://docs.aws.amazon.com/eks/latest/userguide/create-node-pool.html).
|
|
181
|
+
|
|
182
|
+
### Node Groups as the default capacity type
|
|
183
|
+
|
|
184
|
+
If you prefer to manage your own node groups instead of using Auto Mode, you can use the traditional node group approach by specifying `defaultCapacityType` as `NODEGROUP`:
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
# Create EKS cluster with traditional managed node group
|
|
188
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
189
|
+
version=eks.KubernetesVersion.V1_32,
|
|
190
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
191
|
+
default_capacity=3, # Number of instances
|
|
192
|
+
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)
|
|
193
|
+
)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
You can also create a cluster with no initial capacity and add node groups later:
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
cluster = eks.Cluster(self, "EksCluster",
|
|
200
|
+
version=eks.KubernetesVersion.V1_32,
|
|
201
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
202
|
+
default_capacity=0
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
# Add node groups as needed
|
|
206
|
+
cluster.add_nodegroup_capacity("custom-node-group",
|
|
207
|
+
min_size=1,
|
|
208
|
+
max_size=3,
|
|
209
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.LARGE)]
|
|
210
|
+
)
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Read [Managed node groups](#managed-node-groups) for more information on how to add node groups to the cluster.
|
|
214
|
+
|
|
215
|
+
### Mixed with Auto Mode and Node Groups
|
|
216
|
+
|
|
217
|
+
You can combine Auto Mode with traditional node groups for specific workload requirements:
|
|
218
|
+
|
|
219
|
+
```python
|
|
220
|
+
cluster = eks.Cluster(self, "Cluster",
|
|
221
|
+
version=eks.KubernetesVersion.V1_32,
|
|
222
|
+
default_capacity_type=eks.DefaultCapacityType.AUTOMODE,
|
|
223
|
+
compute=eks.ComputeConfig(
|
|
224
|
+
node_pools=["system", "general-purpose"]
|
|
225
|
+
)
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
# Add specialized node group for specific workloads
|
|
229
|
+
cluster.add_nodegroup_capacity("specialized-workload",
|
|
230
|
+
min_size=1,
|
|
231
|
+
max_size=3,
|
|
232
|
+
instance_types=[ec2.InstanceType.of(ec2.InstanceClass.C5, ec2.InstanceSize.XLARGE)],
|
|
233
|
+
labels={
|
|
234
|
+
"workload": "specialized"
|
|
235
|
+
}
|
|
236
|
+
)
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Important Notes
|
|
240
|
+
|
|
241
|
+
1. Auto Mode and traditional capacity management are mutually exclusive at the default capacity level. You cannot opt in to Auto Mode and specify `defaultCapacity` or `defaultCapacityInstance`.
|
|
242
|
+
2. When Auto Mode is enabled:
|
|
243
|
+
|
|
244
|
+
* The cluster will automatically manage compute resources
|
|
245
|
+
* Node pools cannot be modified, only enabled or disabled
|
|
246
|
+
* EKS will handle scaling and management of the node pools
|
|
247
|
+
3. Auto Mode requires specific IAM permissions. The construct will automatically attach the required managed policies.
|
|
248
|
+
|
|
134
249
|
### Managed node groups
|
|
135
250
|
|
|
136
251
|
Amazon EKS managed node groups automate the provisioning and lifecycle management of nodes (Amazon EC2 instances) for Amazon EKS Kubernetes clusters.
|
|
@@ -138,15 +253,21 @@ With Amazon EKS managed node groups, you don't need to separately provision or r
|
|
|
138
253
|
|
|
139
254
|
> For more details visit [Amazon EKS Managed Node Groups](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html).
|
|
140
255
|
|
|
141
|
-
|
|
256
|
+
By default, when using `DefaultCapacityType.NODEGROUP`, this library will allocate a managed node group with 2 *m5.large* instances (this instance type suits most common use-cases, and is good value for money).
|
|
142
257
|
|
|
143
|
-
|
|
258
|
+
```python
|
|
259
|
+
eks.Cluster(self, "HelloEKS",
|
|
260
|
+
version=eks.KubernetesVersion.V1_32,
|
|
261
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP
|
|
262
|
+
)
|
|
263
|
+
```
|
|
144
264
|
|
|
145
265
|
At cluster instantiation time, you can customize the number of instances and their type:
|
|
146
266
|
|
|
147
267
|
```python
|
|
148
268
|
eks.Cluster(self, "HelloEKS",
|
|
149
269
|
version=eks.KubernetesVersion.V1_32,
|
|
270
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
150
271
|
default_capacity=5,
|
|
151
272
|
default_capacity_instance=ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.SMALL)
|
|
152
273
|
)
|
|
@@ -159,6 +280,7 @@ Additional customizations are available post instantiation. To apply them, set t
|
|
|
159
280
|
```python
|
|
160
281
|
cluster = eks.Cluster(self, "HelloEKS",
|
|
161
282
|
version=eks.KubernetesVersion.V1_32,
|
|
283
|
+
default_capacity_type=eks.DefaultCapacityType.NODEGROUP,
|
|
162
284
|
default_capacity=0
|
|
163
285
|
)
|
|
164
286
|
|
|
@@ -12,4 +12,4 @@ src/aws_cdk.aws_eks_v2_alpha.egg-info/top_level.txt
|
|
|
12
12
|
src/aws_cdk/aws_eks_v2_alpha/__init__.py
|
|
13
13
|
src/aws_cdk/aws_eks_v2_alpha/py.typed
|
|
14
14
|
src/aws_cdk/aws_eks_v2_alpha/_jsii/__init__.py
|
|
15
|
-
src/aws_cdk/aws_eks_v2_alpha/_jsii/aws-eks-v2-alpha@2.
|
|
15
|
+
src/aws_cdk/aws_eks_v2_alpha/_jsii/aws-eks-v2-alpha@2.181.1-alpha.0.jsii.tgz
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|