Skip to content

Commit

Permalink
docs: Update NodeTemplate doc to NodeClasses and rename files to …
Browse files Browse the repository at this point in the history
…v1beta1 (#4761)
  • Loading branch information
jonathan-innis authored Oct 6, 2023
1 parent 03c1a14 commit efec6c9
Show file tree
Hide file tree
Showing 12 changed files with 918 additions and 725 deletions.
2 changes: 1 addition & 1 deletion website/content/en/preview/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Provisioner-level constraints related to Kubernetes and your cloud provider (AWS

- Taints (`taints`): Identify taints to add to provisioned nodes. If a pod doesn't have a matching toleration for the taint, the effect set by the taint occurs (NoSchedule, PreferNoSchedule, or NoExecute). See Kubernetes [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for details.
- Labels (`labels`): Apply arbitrary key-value pairs to nodes that can be matched by pods.
- Requirements (`requirements`): Set acceptable (`In`) and unacceptable (`Out`) Kubernetes and Karpenter values for node provisioning based on [Well-Known Labels](https://kubernetes.io/docs/reference/labels-annotations-taints/) and [cloud-specific settings]({{<ref "./concepts/node-templates" >}}). These can include [instance types](https://kubernetes.io/docs/reference/labels-annotations-taints/#nodekubernetesioinstance-type), [zones](https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone), [computer architecture](https://kubernetes.io/docs/reference/labels-annotations-taints/#kubernetes-io-arch), and [capacity type]({{<ref "./concepts/provisioners/#capacity-type" >}}) (such as AWS spot or on-demand).
- Requirements (`requirements`): Set acceptable (`In`) and unacceptable (`Out`) Kubernetes and Karpenter values for node provisioning based on [Well-Known Labels](https://kubernetes.io/docs/reference/labels-annotations-taints/) and [cloud-specific settings]({{<ref "./concepts/nodeclasses" >}}). These can include [instance types](https://kubernetes.io/docs/reference/labels-annotations-taints/#nodekubernetesioinstance-type), [zones](https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone), [computer architecture](https://kubernetes.io/docs/reference/labels-annotations-taints/#kubernetes-io-arch), and [capacity type]({{<ref "./concepts/nodepools/#capacity-type" >}}) (such as AWS spot or on-demand).
- Limits (`limits`): Lets you set limits on the total CPU and Memory that can be used by the cluster, effectively stopping further node provisioning when those limits have been reached.

* **Deploy workloads**: When deploying workloads, you can request that scheduling constraints be met to direct which nodes Karpenter provisions for those workloads. Use any of the following Pod spec constraints when you deploy pods:
Expand Down
2 changes: 1 addition & 1 deletion website/content/en/preview/concepts/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Here are some things to know about the Karpenter provisioner:
* **Provisioner CR**: Karpenter defines a Custom Resource called a Provisioner to specify provisioning configuration.
Each provisioner manages a distinct set of nodes, but pods can be scheduled to any provisioner that supports its scheduling constraints.
A provisioner contains constraints that impact the nodes that can be provisioned and attributes of those nodes (such timers for removing nodes).
See [Provisioning]({{<ref "./provisioners" >}}) docs for a description of settings and provisioner examples.
See [Provisioning]({{<ref "./nodepools" >}}) docs for a description of settings and provisioner examples.

* **Well-known labels**: The provisioner can use well-known Kubernetes labels to allow pods to request only certain instance types, architectures, operating systems, or other attributes when creating nodes.
See [Well-Known Labels, Annotations and Taints](https://kubernetes.io/docs/reference/labels-annotations-taints/) for details.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: "Deprovisioning"
linkTitle: "Deprovisioning"
title: "Disruption"
linkTitle: "Disruption"
weight: 4
description: >
Understand different ways Karpenter deprovisions nodes
Understand different ways Karpenter disrupts nodes
---

## Control Flow
Expand Down Expand Up @@ -55,7 +55,7 @@ There are both automated and manual ways of deprovisioning nodes provisioned by
* **Consolidation**: Karpenter works to actively reduce cluster cost by identifying when:
* Nodes can be removed as their workloads will run on other nodes in the cluster.
* Nodes can be replaced with cheaper variants due to a change in the workloads.
* **Drift**: Karpenter will annotate nodes as drifted and deprovision nodes that have drifted from their desired specification. See [Drift]({{<ref "./deprovisioning/#drift" >}}) to see which fields are considered.
* **Drift**: Karpenter will annotate nodes as drifted and deprovision nodes that have drifted from their desired specification. See [Drift]({{<ref "#drift" >}}) to see which fields are considered.
* **Interruption**: If enabled, Karpenter will watch for upcoming involuntary interruption events that could affect your nodes (health events, spot interruption, etc.) and will cordon, drain, and terminate the node(s) ahead of the event to reduce workload disruption.

{{% alert title="Note" color="primary" %}}
Expand Down
Loading

0 comments on commit efec6c9

Please sign in to comment.