You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Next, reference the Node Class in your Node Pool configuration. For more information, see <<create-node-pool>>.
47
47
48
+
[#auto-node-access-entry]
49
+
== Create node class access entry
50
+
51
+
If you create a custom node class, you need to create an EKS Access Entry to permit the nodes to join the cluster. EKS automatically creates access entries when you use the built-in node class and node pools.
52
+
53
+
For information about how Access Entries work, see <<access-entries>>.
54
+
55
+
When creating access entries for EKS Auto Mode node classes, you need to use the `EC2` access entry type.
56
+
57
+
=== Create access entry with CLI
58
+
59
+
*To create an access entry for EC2 nodes and associate the EKS Auto Node Policy:*
60
+
61
+
Update the following CLI commands with your cluster name, and node role ARN. The node role ARN is specified in the node class YAML.
DependsOn: [ <cluster-name> ] # previously defined in CloudFormation
98
+
----
99
+
100
+
For information about deploying CloudFormation stacks, see link:AWSCloudFormation/latest/UserGuide/GettingStarted.html["Getting started with CloudFormation", type="documentation"]
101
+
48
102
== Node Class Specification
49
103
50
104
[source,yaml]
@@ -88,6 +142,11 @@ spec:
88
142
size: "80Gi" # Range: 1-59000Gi or 1-64000G or 1-58Ti or 1-64T
89
143
iops: 3000 # Range: 3000-16000
90
144
throughput: 125 # Range: 125-1000
145
+
146
+
# IAM role to use for EC2 instance role
147
+
# If unspecified, EKS will create a role
148
+
# If specified, role requires access entry described above
Copy file name to clipboardExpand all lines: latest/ug/automode/create-node-pool.adoc
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -178,6 +178,34 @@ spec:
178
178
** `node.kubernetes.io/windows-build`
179
179
** `kubernetes.io/os`
180
180
181
+
== Disable built-in node pools
182
+
183
+
If you create custom node pools, you can disable the built-in node pools. For more information, see <<set-builtin-node-pools>>.
184
+
185
+
== Cluster without built-in node pools
186
+
187
+
You can create a cluster without the built-in node pools. This is helpful when your organization has created customized node pools.
188
+
189
+
*Overview:*
190
+
191
+
. Create an EKS cluster with the both `nodePools` and `nodeRoleArn` values empty.
192
+
** Sample eksctl `autoModeConfig`:
193
+
+
194
+
[source,yaml]
195
+
----
196
+
autoModeConfig:
197
+
enabled: true
198
+
nodePools: []
199
+
# Do not set a nodeRoleARN
200
+
----
201
+
+
202
+
For more information, see <<automode-get-started-eksctl>>
203
+
. Create a custom node class with a node role ARN
204
+
** For more information, see <<create-node-class>>
205
+
. Create an access entry for the custom node class
206
+
** For more information, see <<auto-node-access-entry>>
207
+
. Create a custom node pool, as described above.
208
+
181
209
== Disruption
182
210
183
211
You can configure EKS Auto Mode to disrupt Nodes through your NodePool in multiple ways. You can use `spec.disruption.consolidationPolicy`, `spec.disruption.consolidateAfter`, or `spec.template.spec.expireAfter`. You can also rate limit EKS Auto Mode's disruption through the NodePool’s `spec.disruption.budgets`. You can also control the time windows and number of simultaneous Nodes disrupted. For instructions on configuring this behavior, see https://karpenter.sh/docs/concepts/disruption/[Disruption] in the Karpenter Documentation.
Copy file name to clipboardExpand all lines: latest/ug/automode/set-builtin-node-pools.adoc
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,12 +23,14 @@ Both built-in NodePools:
23
23
* Use the C, M, and R EC2 instance families
24
24
* Require generation 5 or newer EC2 instances
25
25
26
-
## Prerequisites
26
+
== Procedure
27
+
28
+
=== Prerequisites
27
29
28
30
* The latest version of the {aws} Command Line Interface ({aws} CLI) installed and configured on your device. To check your current version, use `aws --version`. To install the latest version, see link:cli/latest/userguide/getting-started-install.html["Installing",type="documentation"] and link:cli/latest/userguide/cli-chap-configure.html#cli-configure-quickstart-config["Quick configuration",type="documentation"] with aws configure in the {aws} Command Line Interface User Guide.
29
31
** Login to the CLI with sufficent IAM permissions to create {aws} resources including IAM Policies, IAM Roles, and EKS Clusters.
30
32
31
-
== Enable with {aws} CLI
33
+
=== Enable with {aws} CLI
32
34
33
35
Use the following command to enable both built-in NodePools:
34
36
@@ -45,7 +47,7 @@ aws eks update-cluster-config \
45
47
46
48
You can modify the command to selectively enable the NodePools.
47
49
48
-
== Disable with {aws} CLI
50
+
=== Disable with {aws} CLI
49
51
50
52
Use the following command to disable both built-in NodePools:
Copy file name to clipboardExpand all lines: latest/ug/manage-access/k8s-access/access-entries.adoc
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -142,9 +142,15 @@ Before creating access entries, consider the following:
142
142
** If the type of the access entry is anything other than `STANDARD` (see next consideration about types), the ARN must be in the same {aws} account that your cluster is in. If the type is `STANDARD`, the ARN can be in the same, or different, {aws} account than the account that your cluster is in.
143
143
** You can't change the IAM principal after the access entry is created.
144
144
** If you ever delete the IAM principal with this ARN, the access entry isn't automatically deleted. We recommend that you delete the access entry with an ARN for an IAM principal that you delete. If you don't delete the access entry and ever recreate the IAM principal, even if it has the same ARN, the access entry won't work. This is because even though the ARN is the same for the recreated IAM principal, the `roleID` or `userID` (you can see this with the `aws sts get-caller-identity` {aws} CLI command) is different for the recreated IAM principal than it was for the original IAM principal. Even though you don't see the IAM principal's `roleID` or `userID` for an access entry, Amazon EKS stores it with the access entry.
145
-
* Each access entry has a _type_. You can specify `EC2_LINUX` (for an IAM role used with Linux or Bottlerocket self-managed nodes), `EC2_Windows` (for an IAM role used with Windows self-managed nodes), `FARGATE_LINUX` (for an IAM role used with {aws} Fargate (Fargate)), `HYBRID_LINUX` (for an IAM role used with hybrid nodes) or `STANDARD` as a type. If you don't specify a type, Amazon EKS automatically sets the type to `STANDARD`. It's unnecessary to create an access entry for an IAM role that's used for a managed node group or a Fargate profile. EKS will create access entries (if enabled), or update the auth config map (if access entries are unavailable).
146
-
+
147
-
You can't change the type after the access entry is created.
145
+
* Each access entry has a _type_. If you don't specify a type, Amazon EKS automatically sets the type to `STANDARD`
146
+
** `EC2_LINUX` - For an IAM role used with Linux or Bottlerocket self-managed nodes
147
+
** `EC2_WINDOWS` - For an IAM role used with Windows self-managed nodes
148
+
** `FARGATE_LINUX` - For an IAM role used with {aws} Fargate (Fargate)
149
+
** `HYBRID_LINUX` - For an IAM role used with hybrid nodes
150
+
** `STANDARD` - Default type if none specified
151
+
** `EC2` - For EKS Auto Mode custom node classes. For more information, see <<auto-node-access-entry>>.
152
+
** You can't change the type after the access entry is created.
153
+
* It's unnecessary to create an access entry for an IAM role that's used for a managed node group or a Fargate profile. EKS will create access entries (if enabled), or update the auth config map (if access entries are unavailable)
148
154
* If the type of the access entry is `STANDARD`, you can specify a _username_ for the access entry. If you don't specify a value for username, Amazon EKS sets one of the following values for you, depending on the type of the access entry and whether the IAM principal that you specified is an IAM role or IAM user. Unless you have a specific reason for specifying your own username, we recommend that don't specify one and let Amazon EKS auto-generate it for you. If you specify your own username:
149
155
+
150
156
** It can't start with `system:`, `eks:`, `aws:`, `amazon:`, or `iam:`.
0 commit comments