From 1f1c0c53a121ab1eb373b40aecab16f86d48db81 Mon Sep 17 00:00:00 2001 From: Jason Deal Date: Tue, 20 Aug 2024 11:36:01 -0700 Subject: [PATCH] docs: detail how to discover alias versions --- .../content/en/docs/concepts/nodeclasses.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/website/content/en/docs/concepts/nodeclasses.md b/website/content/en/docs/concepts/nodeclasses.md index bd7a70d50629..90a285642dcc 100644 --- a/website/content/en/docs/concepts/nodeclasses.md +++ b/website/content/en/docs/concepts/nodeclasses.md @@ -731,6 +731,27 @@ alias: bottlerocket@v1.20.4 ``` The Windows family does not support pinning, so only `latest` is supported. +The following commands can be used to determine the versions availble for an alias in your region: + +{{< tabpane text=true right=false >}} + {{% tab "AL2023" %}} + ```bash + aws ssm get-parameters-by-path --path "/aws/service/eks/optimized-ami/$K8S_VERSION/amazon-linux-2023/" --recursive | jq -c '.Parameters[].Name' | tr -d '"' | grep -v "recommended" | awk -F '/' '{print $10}' | sed -r 's/.*(v[[:digit:]]+)$/\1/' | sort | uniq + ``` + {{% /tab %}} + {{% tab "AL2" %}} + ```bash + aws ssm get-parameters-by-path --path "/aws/service/eks/optimized-ami/$K8S_VERSION/amazon-linux-2/" --recursive | jq -c '.Parameters[].Name' | tr -d '"' | grep -v "recommended" | awk -F '/' '{print $8}' | sed -r 's/.*(v[[:digit:]]+)$/\1/' | sort | uniq + ``` + {{% /tab %}} + {{% tab "Bottlerocket" %}} + ```bash + aws ssm get-parameters-by-path --path "/aws/service/bottlerocket/aws-k8s-$K8S_VERSION" --recursive | jq -c '.Parameters[].Name' | tr -d '"' | grep -v "latest" | awk -F '/' '{print $7}' | sort | uniq + ``` + {{% /tab %}} +{{< /tabpane >}} + + To select an AMI by name, use the `name` field in the selector term. To select an AMI by id, use the `id` field in the selector term. To select AMIs that are not owned by `amazon` or the account that Karpenter is running in, use the `owner` field - you can use a combination of account aliases (e.g. `self` `amazon`, `your-aws-account-name`) and account IDs. If owner is not set for `name`, it defaults to `self,amazon`, preventing Karpenter from inadvertently selecting an AMI that is owned by a different account. Tags don't require an owner as tags can only be discovered by the user who created them. @@ -1534,4 +1555,4 @@ NodeClasses have the following status conditions: | AMIsReady | AMIs are discovered | | Ready | Top level condition that indicates if the nodeClass is ready. If any of the underlying conditions is `False` then this condition is set to `False` and `Message` on the condition indicates the dependency that was not resolved. | -If a NodeClass is not ready, NodePools that reference it through their `nodeClassRef` will not be considered for scheduling. \ No newline at end of file +If a NodeClass is not ready, NodePools that reference it through their `nodeClassRef` will not be considered for scheduling.