From 4ea4808997d03f50774674909462f008519e895c Mon Sep 17 00:00:00 2001 From: Jason Deal Date: Thu, 30 Nov 2023 17:28:33 -0800 Subject: [PATCH] docs: note about deprecated label support (#5198) --- website/content/en/docs/concepts/scheduling.md | 4 ++++ website/content/en/preview/concepts/scheduling.md | 4 ++++ website/content/en/v0.28/concepts/scheduling.md | 4 ++++ website/content/en/v0.29/concepts/scheduling.md | 4 ++++ website/content/en/v0.30/concepts/scheduling.md | 4 ++++ website/content/en/v0.31/concepts/scheduling.md | 4 ++++ website/content/en/v0.32/concepts/scheduling.md | 4 ++++ 7 files changed, 28 insertions(+) diff --git a/website/content/en/docs/concepts/scheduling.md b/website/content/en/docs/concepts/scheduling.md index b41ea1374e0f..7d0b43680898 100755 --- a/website/content/en/docs/concepts/scheduling.md +++ b/website/content/en/docs/concepts/scheduling.md @@ -160,6 +160,10 @@ Take care to ensure the label domains are correct. A well known label like `karp | karpenter.k8s.aws/instance-gpu-memory | 16384 | [AWS Specific] Number of mebibytes of memory on the GPU | | karpenter.k8s.aws/instance-local-nvme | 900 | [AWS Specific] Number of gibibytes of local nvme storage on the instance | +{{% alert title="Note" color="primary" %}} +Karpenter translates the following deprecated labels to their stable equivalents: `failure-domain.beta.kubernetes.io/zone`, `failure-domain.beta.kubernetes.io/region`, `beta.kubernetes.io/arch`, `beta.kubernetes.io/os`, and `beta.kubernetes.io/instance-type`. +{{% /alert %}} + #### User-Defined Labels Karpenter is aware of several well-known labels, deriving them from instance type details. If you specify a `nodeSelector` or a required `nodeAffinity` using a label that is not well-known to Karpenter, it will not launch nodes with these labels and pods will remain pending. For Karpenter to become aware that it can schedule for these labels, you must specify the label in the NodePool requirements with the `Exists` operator: diff --git a/website/content/en/preview/concepts/scheduling.md b/website/content/en/preview/concepts/scheduling.md index 8754d251a743..90339674f24c 100755 --- a/website/content/en/preview/concepts/scheduling.md +++ b/website/content/en/preview/concepts/scheduling.md @@ -161,6 +161,10 @@ Take care to ensure the label domains are correct. A well known label like `karp | karpenter.k8s.aws/instance-gpu-memory | 16384 | [AWS Specific] Number of mebibytes of memory on the GPU | | karpenter.k8s.aws/instance-local-nvme | 900 | [AWS Specific] Number of gibibytes of local nvme storage on the instance | +{{% alert title="Note" color="primary" %}} +Karpenter translates the following deprecated labels to their stable equivalents: `failure-domain.beta.kubernetes.io/zone`, `failure-domain.beta.kubernetes.io/region`, `beta.kubernetes.io/arch`, `beta.kubernetes.io/os`, and `beta.kubernetes.io/instance-type`. +{{% /alert %}} + #### User-Defined Labels Karpenter is aware of several well-known labels, deriving them from instance type details. If you specify a `nodeSelector` or a required `nodeAffinity` using a label that is not well-known to Karpenter, it will not launch nodes with these labels and pods will remain pending. For Karpenter to become aware that it can schedule for these labels, you must specify the label in the NodePool requirements with the `Exists` operator: diff --git a/website/content/en/v0.28/concepts/scheduling.md b/website/content/en/v0.28/concepts/scheduling.md index 9319bc30df3b..bf827b3f6292 100755 --- a/website/content/en/v0.28/concepts/scheduling.md +++ b/website/content/en/v0.28/concepts/scheduling.md @@ -156,6 +156,10 @@ Take care to ensure the label domains are correct. A well known label like `karp | karpenter.k8s.aws/instance-gpu-memory | 16384 | [AWS Specific] Number of mebibytes of memory on the GPU | | karpenter.k8s.aws/instance-local-nvme | 900 | [AWS Specific] Number of gibibytes of local nvme storage on the instance | +{{% alert title="Note" color="primary" %}} +Karpenter translates the following deprecated labels to their stable equivalents: `failure-domain.beta.kubernetes.io/zone`, `failure-domain.beta.kubernetes.io/region`, `beta.kubernetes.io/arch`, `beta.kubernetes.io/os`, and `beta.kubernetes.io/instance-type`. +{{% /alert %}} + #### User-Defined Labels Karpenter is aware of several well-known labels, deriving them from instance type details. If you specify a `nodeSelector` or a required `nodeAffinity` using a label that is not well-known to Karpenter, it will not launch nodes with these labels and pods will remain pending. For Karpenter to become aware that it can schedule for these labels, you must specify the label in the Provisioner requirements with the `Exists` operator: diff --git a/website/content/en/v0.29/concepts/scheduling.md b/website/content/en/v0.29/concepts/scheduling.md index 174553b7ebc6..770733997034 100755 --- a/website/content/en/v0.29/concepts/scheduling.md +++ b/website/content/en/v0.29/concepts/scheduling.md @@ -161,6 +161,10 @@ Take care to ensure the label domains are correct. A well known label like `karp | karpenter.k8s.aws/instance-gpu-memory | 16384 | [AWS Specific] Number of mebibytes of memory on the GPU | | karpenter.k8s.aws/instance-local-nvme | 900 | [AWS Specific] Number of gibibytes of local nvme storage on the instance | +{{% alert title="Note" color="primary" %}} +Karpenter translates the following deprecated labels to their stable equivalents: `failure-domain.beta.kubernetes.io/zone`, `failure-domain.beta.kubernetes.io/region`, `beta.kubernetes.io/arch`, `beta.kubernetes.io/os`, and `beta.kubernetes.io/instance-type`. +{{% /alert %}} + #### User-Defined Labels Karpenter is aware of several well-known labels, deriving them from instance type details. If you specify a `nodeSelector` or a required `nodeAffinity` using a label that is not well-known to Karpenter, it will not launch nodes with these labels and pods will remain pending. For Karpenter to become aware that it can schedule for these labels, you must specify the label in the Provisioner requirements with the `Exists` operator: diff --git a/website/content/en/v0.30/concepts/scheduling.md b/website/content/en/v0.30/concepts/scheduling.md index de79cb78581e..0f70f1a0463f 100755 --- a/website/content/en/v0.30/concepts/scheduling.md +++ b/website/content/en/v0.30/concepts/scheduling.md @@ -161,6 +161,10 @@ Take care to ensure the label domains are correct. A well known label like `karp | karpenter.k8s.aws/instance-gpu-memory | 16384 | [AWS Specific] Number of mebibytes of memory on the GPU | | karpenter.k8s.aws/instance-local-nvme | 900 | [AWS Specific] Number of gibibytes of local nvme storage on the instance | +{{% alert title="Note" color="primary" %}} +Karpenter translates the following deprecated labels to their stable equivalents: `failure-domain.beta.kubernetes.io/zone`, `failure-domain.beta.kubernetes.io/region`, `beta.kubernetes.io/arch`, `beta.kubernetes.io/os`, and `beta.kubernetes.io/instance-type`. +{{% /alert %}} + #### User-Defined Labels Karpenter is aware of several well-known labels, deriving them from instance type details. If you specify a `nodeSelector` or a required `nodeAffinity` using a label that is not well-known to Karpenter, it will not launch nodes with these labels and pods will remain pending. For Karpenter to become aware that it can schedule for these labels, you must specify the label in the Provisioner requirements with the `Exists` operator: diff --git a/website/content/en/v0.31/concepts/scheduling.md b/website/content/en/v0.31/concepts/scheduling.md index de79cb78581e..0f70f1a0463f 100755 --- a/website/content/en/v0.31/concepts/scheduling.md +++ b/website/content/en/v0.31/concepts/scheduling.md @@ -161,6 +161,10 @@ Take care to ensure the label domains are correct. A well known label like `karp | karpenter.k8s.aws/instance-gpu-memory | 16384 | [AWS Specific] Number of mebibytes of memory on the GPU | | karpenter.k8s.aws/instance-local-nvme | 900 | [AWS Specific] Number of gibibytes of local nvme storage on the instance | +{{% alert title="Note" color="primary" %}} +Karpenter translates the following deprecated labels to their stable equivalents: `failure-domain.beta.kubernetes.io/zone`, `failure-domain.beta.kubernetes.io/region`, `beta.kubernetes.io/arch`, `beta.kubernetes.io/os`, and `beta.kubernetes.io/instance-type`. +{{% /alert %}} + #### User-Defined Labels Karpenter is aware of several well-known labels, deriving them from instance type details. If you specify a `nodeSelector` or a required `nodeAffinity` using a label that is not well-known to Karpenter, it will not launch nodes with these labels and pods will remain pending. For Karpenter to become aware that it can schedule for these labels, you must specify the label in the Provisioner requirements with the `Exists` operator: diff --git a/website/content/en/v0.32/concepts/scheduling.md b/website/content/en/v0.32/concepts/scheduling.md index 899b2428edd3..cecc70c0c4a0 100755 --- a/website/content/en/v0.32/concepts/scheduling.md +++ b/website/content/en/v0.32/concepts/scheduling.md @@ -160,6 +160,10 @@ Take care to ensure the label domains are correct. A well known label like `karp | karpenter.k8s.aws/instance-gpu-memory | 16384 | [AWS Specific] Number of mebibytes of memory on the GPU | | karpenter.k8s.aws/instance-local-nvme | 900 | [AWS Specific] Number of gibibytes of local nvme storage on the instance | +{{% alert title="Note" color="primary" %}} +Karpenter translates the following deprecated labels to their stable equivalents: `failure-domain.beta.kubernetes.io/zone`, `failure-domain.beta.kubernetes.io/region`, `beta.kubernetes.io/arch`, `beta.kubernetes.io/os`, and `beta.kubernetes.io/instance-type`. +{{% /alert %}} + #### User-Defined Labels Karpenter is aware of several well-known labels, deriving them from instance type details. If you specify a `nodeSelector` or a required `nodeAffinity` using a label that is not well-known to Karpenter, it will not launch nodes with these labels and pods will remain pending. For Karpenter to become aware that it can schedule for these labels, you must specify the label in the NodePool requirements with the `Exists` operator: