Open xiangyanw opened 1 month ago
preBootstrapCommands
is not supported for AL2023 nodegroups. This validation exists for self-managed nodegroups but is missing for managed nodegroups, so create nodegroup
silently ignores that field rather than failing early with an error. We'll work on a fix soon.
What is the alternative if preBootstrapCommands
is not supported for AL2023?
What is the alternative if
preBootstrapCommands
is not supported for AL2023?
I agree, what should we use instead? The question perhaps should be: Are there any plans to create something more or less equivalent to preBootstrapCommands available in AL2023? This is the one thing that stops us from using AL2023.
we NEED preBootstrapCommands to work because we rely on it to provide custom ca-certificates to pull container images from a private container registry
preBootstrapCommands
is not supported for AL2023 nodegroups. This validation exists for self-managed nodegroups but is missing for managed nodegroups, socreate nodegroup
silently ignores that field rather than failing early with an error. We'll work on a fix soon.
AL2023 is now the default, so please understand this is going to affect a lot of customers without them even realizing it.
What were you trying to accomplish?
I want to mount a data volume to EKS node with AL2023 by preBootstrapCommands.
What happened?
I configured preBootstrapCommands for a managed nodegroup in EKS version 1.30, but those commands were not added to the userdata.
Here is my preBootstrapCommands:
Here is the resulting userdata in the launchtemplate:
How to reproduce it?
Use the following YAML to create a nodegroup for EKS 1.30. Execute command:
eksctl create ng -f xxx.yaml
Logs 2024-07-29 03:13:13 [ℹ] nodegroup "xxxx-nodegroup" will use "" [AmazonLinux2023/1.30] 2024-07-29 03:13:13 [ℹ] nodegroup "nodegroup" will use "" [AmazonLinux2023/1.30] 2024-07-29 03:13:17 [ℹ] 1 existing nodegroup(s) (xxxx-nodegroup) will be excluded 2024-07-29 03:13:17 [ℹ] 1 nodegroup (nodegroup) was included (based on the include/exclude rules) 2024-07-29 03:13:17 [ℹ] will create a CloudFormation stack for each of 1 managed nodegroups in cluster "xxxx" 2024-07-29 03:13:17 [ℹ]
2 sequential tasks: { fix cluster compatibility, 1 task: { 1 task: { create managed nodegroup "nodegroup" } } } 2024-07-29 03:13:17 [ℹ] checking cluster stack for missing resources 2024-07-29 03:13:19 [ℹ] cluster stack has all required resources 2024-07-29 03:13:21 [ℹ] building managed nodegroup stack "eksctl-xxxx-nodegroup-nodegroup" 2024-07-29 03:13:22 [ℹ] deploying stack "eksctl-xxxx-nodegroup-nodegroup" 2024-07-29 03:13:22 [ℹ] waiting for CloudFormation stack "eksctl-xxxx-nodegroup-nodegroup" 2024-07-29 03:13:53 [ℹ] waiting for CloudFormation stack "eksctl-xxxx-nodegroup-nodegroup" 2024-07-29 03:14:44 [ℹ] waiting for CloudFormation stack "eksctl-xxxx-nodegroup-nodegroup" 2024-07-29 03:16:22 [ℹ] waiting for CloudFormation stack "eksctl-xxxx-nodegroup-nodegroup" 2024-07-29 03:16:22 [ℹ] no tasks 2024-07-29 03:16:22 [✔] created 0 nodegroup(s) in cluster "xxxx" 2024-07-29 03:16:22 [✔] created 1 managed nodegroup(s) in cluster "xxxx" 2024-07-29 03:16:24 [ℹ] checking security group configuration for all nodegroups 2024-07-29 03:16:24 [ℹ] all nodegroups have up-to-date cloudformation templates
Anything else we need to know? This is working as expected when I use AL2 AMI in the same cluster.
Versions