Skip to content

Commit

Permalink
docs: Update docs for status conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
jigisha620 committed Aug 19, 2024
1 parent f2b7275 commit 8213882
Show file tree
Hide file tree
Showing 9 changed files with 63 additions and 69 deletions.
32 changes: 9 additions & 23 deletions website/content/en/docs/concepts/nodeclasses.md
Original file line number Diff line number Diff line change
Expand Up @@ -1524,28 +1524,14 @@ status:

[`status.conditions`]({{< ref "#statusconditions" >}}) indicates EC2NodeClass readiness. This will be `Ready` when Karpenter successfully discovers AMIs, Instance Profile, Subnets, Cluster CIDR (AL2023 only) and SecurityGroups for the EC2NodeClass.

```yaml
spec:
role: "KarpenterNodeRole-${CLUSTER_NAME}"
status:
conditions:
Last Transition Time: 2024-05-06T06:04:45Z
Message: Ready
Reason: Ready
Status: True
Type: Ready
```
NodeClasses have the following status conditions:

If any of the underlying conditions are not resolved then `Status` is `False` and `Message` indicates the dependency that was not resolved.
| Condition Type | Description |
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SubnetsReady | Subnets are discovered. |
| SecurityGroupsReady | Security Groups are discovered. |
| InstanceProfileReady | Instance Profile is discovered. |
| 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. |

```yaml
spec:
role: "KarpenterNodeRole-${CLUSTER_NAME}"
status:
conditions:
Last Transition Time: 2024-05-06T06:19:46Z
Message: unable to resolve instance profile for node class
Reason: NodeClassNotReady
Status: False
Type: Ready
```
If a NodeClass is not ready, NodePools that reference it through their `nodeClassRef` will not be considered for scheduling.
10 changes: 10 additions & 0 deletions website/content/en/docs/concepts/nodepools.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,16 @@ For more information on weighting NodePools, see the [Weighted NodePools section
* The `status.conditions.reason` object indicates the reason for the condition's previous transition.
* The `status.conditions.message` object provides human-readable details about the condition's previous transition.

NodePools have the following status conditions:

| Condition Type | Description |
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| NodeClassReady | Underlying nodeClass is ready |
| ValidationSucceeded | NodePool CRD validation succeeded |
| Ready | Top level condition that indicates if the nodePool is ready. This condition will not be true until all the other conditions on nodePool are true. |

If a NodePool is not ready, it will not be considered for scheduling.

## status.resources
Objects under `status.resources` provide information about the status of resources such as `cpu`, `memory`, and `ephemeral-storage`.

Expand Down
2 changes: 2 additions & 0 deletions website/content/en/docs/upgrading/v1-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,8 @@ Karpenter should now be pulling and operating against the v1beta1 APIVersion as
* Karpenter now adds a `karpenter.sh/unregistered:NoExecute` taint to nodes in injected UserData when using alias in AMISelectorTerms or non-Custom AMIFamily. When using `amiFamily: Custom`, users will need to add this taint into their UserData, where Karpenter will automatically remove it when provisioning nodes.
* Discovered standard AL2023 AMIs will no longer be considered compatible with GPU / accelerator workloads. If you're using an AL2023 EC2NodeClass (without AMISelectorTerms) for these workloads, you will need to select your AMI via AMISelectorTerms (non-alias).
* Karpenter now waits for underlying instances to be completely terminated before removing the associated nodes. This means it may take longer for nodes to be deleted and for nodeclaims to get cleaned up.
* NodePools now have [status conditions]({{< relref "../concepts/nodepools/#statusconditions" >}}) that indicate if they are ready. If not, then they will not be considered during scheduling.
* NodeClasses now have [status conditions]({{< relref "../concepts/nodeclasses/#statusconditions" >}}) that indicate if they are ready. If they are not ready, NodePools that reference them through their `nodeClassRef` will not be considered during scheduling.
* API Moves:
* ExpireAfter has moved from the `NodePool.Spec.Disruption` block to `NodePool.Spec.Template.Spec`, and is now a drift-able field.
* `Kubelet` was moved to the EC2NodeClass from the NodePool.
Expand Down
32 changes: 9 additions & 23 deletions website/content/en/preview/concepts/nodeclasses.md
Original file line number Diff line number Diff line change
Expand Up @@ -1524,28 +1524,14 @@ status:

[`status.conditions`]({{< ref "#statusconditions" >}}) indicates EC2NodeClass readiness. This will be `Ready` when Karpenter successfully discovers AMIs, Instance Profile, Subnets, Cluster CIDR (AL2023 only) and SecurityGroups for the EC2NodeClass.

```yaml
spec:
role: "KarpenterNodeRole-${CLUSTER_NAME}"
status:
conditions:
Last Transition Time: 2024-05-06T06:04:45Z
Message: Ready
Reason: Ready
Status: True
Type: Ready
```
NodeClasses have the following status conditions:

If any of the underlying conditions are not resolved then `Status` is `False` and `Message` indicates the dependency that was not resolved.
| Condition Type | Description |
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SubnetsReady | Subnets are discovered. |
| SecurityGroupsReady | Security Groups are discovered. |
| InstanceProfileReady | Instance Profile is discovered. |
| 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. |

```yaml
spec:
role: "KarpenterNodeRole-${CLUSTER_NAME}"
status:
conditions:
Last Transition Time: 2024-05-06T06:19:46Z
Message: unable to resolve instance profile for node class
Reason: NodeClassNotReady
Status: False
Type: Ready
```
If a NodeClass is not ready, NodePools that reference it through their `nodeClassRef` will not be considered for scheduling.
10 changes: 10 additions & 0 deletions website/content/en/preview/concepts/nodepools.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,16 @@ For more information on weighting NodePools, see the [Weighted NodePools section
* The `status.conditions.reason` object indicates the reason for the condition's previous transition.
* The `status.conditions.message` object provides human-readable details about the condition's previous transition.

NodePools have the following status conditions:

| Condition Type | Description |
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| NodeClassReady | Underlying nodeClass is ready |
| ValidationSucceeded | NodePool CRD validation succeeded |
| Ready | Top level condition that indicates if the nodePool is ready. This condition will not be true until all the other conditions on nodePool are true. |

If a NodePool is not ready, it will not be considered for scheduling.

## status.resources
Objects under `status.resources` provide information about the status of resources such as `cpu`, `memory`, and `ephemeral-storage`.

Expand Down
2 changes: 2 additions & 0 deletions website/content/en/preview/upgrading/v1-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,8 @@ Karpenter should now be pulling and operating against the v1beta1 APIVersion as
* Karpenter now adds a `karpenter.sh/unregistered:NoExecute` taint to nodes in injected UserData when using alias in AMISelectorTerms or non-Custom AMIFamily. When using `amiFamily: Custom`, users will need to add this taint into their UserData, where Karpenter will automatically remove it when provisioning nodes.
* Discovered standard AL2023 AMIs will no longer be considered compatible with GPU / accelerator workloads. If you're using an AL2023 EC2NodeClass (without AMISelectorTerms) for these workloads, you will need to select your AMI via AMISelectorTerms (non-alias).
* Karpenter now waits for underlying instances to be completely terminated before removing the associated nodes. This means it may take longer for nodes to be deleted and for nodeclaims to get cleaned up.
* NodePools now have [status conditions]({{< relref "../concepts/nodepools/#statusconditions" >}}) that indicate if they are ready. If not, then they will not be considered during scheduling.
* NodeClasses now have [status conditions]({{< relref "../concepts/nodeclasses/#statusconditions" >}}) that indicate if they are ready. If they are not ready, NodePools that reference them through their `nodeClassRef` will not be considered during scheduling.
* API Moves:
* ExpireAfter has moved from the `NodePool.Spec.Disruption` block to `NodePool.Spec.Template.Spec`, and is now a drift-able field.
* `Kubelet` was moved to the EC2NodeClass from the NodePool.
Expand Down
32 changes: 9 additions & 23 deletions website/content/en/v1.0/concepts/nodeclasses.md
Original file line number Diff line number Diff line change
Expand Up @@ -1524,28 +1524,14 @@ status:

[`status.conditions`]({{< ref "#statusconditions" >}}) indicates EC2NodeClass readiness. This will be `Ready` when Karpenter successfully discovers AMIs, Instance Profile, Subnets, Cluster CIDR (AL2023 only) and SecurityGroups for the EC2NodeClass.

```yaml
spec:
role: "KarpenterNodeRole-${CLUSTER_NAME}"
status:
conditions:
Last Transition Time: 2024-05-06T06:04:45Z
Message: Ready
Reason: Ready
Status: True
Type: Ready
```
NodeClasses have the following status conditions:

If any of the underlying conditions are not resolved then `Status` is `False` and `Message` indicates the dependency that was not resolved.
| Condition Type | Description |
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SubnetsReady | Subnets are discovered. |
| SecurityGroupsReady | Security Groups are discovered. |
| InstanceProfileReady | Instance Profile is discovered. |
| 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. |

```yaml
spec:
role: "KarpenterNodeRole-${CLUSTER_NAME}"
status:
conditions:
Last Transition Time: 2024-05-06T06:19:46Z
Message: unable to resolve instance profile for node class
Reason: NodeClassNotReady
Status: False
Type: Ready
```
If a NodeClass is not ready, NodePools that reference it through their `nodeClassRef` will not be considered for scheduling.
10 changes: 10 additions & 0 deletions website/content/en/v1.0/concepts/nodepools.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,16 @@ For more information on weighting NodePools, see the [Weighted NodePools section
* The `status.conditions.reason` object indicates the reason for the condition's previous transition.
* The `status.conditions.message` object provides human-readable details about the condition's previous transition.

NodePools have the following status conditions:

| Condition Type | Description |
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| NodeClassReady | Underlying nodeClass is ready |
| ValidationSucceeded | NodePool CRD validation succeeded |
| Ready | Top level condition that indicates if the nodePool is ready. This condition will not be true until all the other conditions on nodePool are true. |

If a NodePool is not ready, it will not be considered for scheduling.

## status.resources
Objects under `status.resources` provide information about the status of resources such as `cpu`, `memory`, and `ephemeral-storage`.

Expand Down
2 changes: 2 additions & 0 deletions website/content/en/v1.0/upgrading/v1-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,8 @@ Karpenter should now be pulling and operating against the v1beta1 APIVersion as
* Karpenter now adds a `karpenter.sh/unregistered:NoExecute` taint to nodes in injected UserData when using alias in AMISelectorTerms or non-Custom AMIFamily. When using `amiFamily: Custom`, users will need to add this taint into their UserData, where Karpenter will automatically remove it when provisioning nodes.
* Discovered standard AL2023 AMIs will no longer be considered compatible with GPU / accelerator workloads. If you're using an AL2023 EC2NodeClass (without AMISelectorTerms) for these workloads, you will need to select your AMI via AMISelectorTerms (non-alias).
* Karpenter now waits for underlying instances to be completely terminated before removing the associated nodes. This means it may take longer for nodes to be deleted and for nodeclaims to get cleaned up.
* NodePools now have [status conditions]({{< relref "../concepts/nodepools/#statusconditions" >}}) that indicate if they are ready. If not, then they will not be considered during scheduling.
* NodeClasses now have [status conditions]({{< relref "../concepts/nodeclasses/#statusconditions" >}}) that indicate if they are ready. If they are not ready, NodePools that reference them through their `nodeClassRef` will not be considered during scheduling.
* API Moves:
* ExpireAfter has moved from the `NodePool.Spec.Disruption` block to `NodePool.Spec.Template.Spec`, and is now a drift-able field.
* `Kubelet` was moved to the EC2NodeClass from the NodePool.
Expand Down

0 comments on commit 8213882

Please sign in to comment.