Skip to content

Commit 4cb14be

Browse files
committed
Merge commit '4c7396bcd44d994e09b97b4b2388e26e78fc9204'
2 parents 9729c0e + 4c7396b commit 4cb14be

File tree

96 files changed

+29677
-18803
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+29677
-18803
lines changed

charts/karpenter-crd/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: karpenter-crd
33
description: A Helm chart for Karpenter Custom Resource Definitions (CRDs).
44
type: application
5-
version: 1.6.3
6-
appVersion: 1.6.3
5+
version: 1.7.0
6+
appVersion: 1.7.0
77
keywords:
88
- cluster
99
- node

charts/karpenter/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: karpenter
33
description: A Helm chart for Karpenter, an open-source node provisioning project built for Kubernetes.
44
type: application
5-
version: 1.6.3
6-
appVersion: 1.6.3
5+
version: 1.7.0
6+
appVersion: 1.7.0
77
keywords:
88
- cluster
99
- node

charts/karpenter/README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
A Helm chart for Karpenter, an open-source node provisioning project built for Kubernetes.
44

5-
![Version: 1.6.3](https://img.shields.io/badge/Version-1.6.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.6.3](https://img.shields.io/badge/AppVersion-1.6.3-informational?style=flat-square)
5+
![Version: 1.7.0](https://img.shields.io/badge/Version-1.7.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.7.0](https://img.shields.io/badge/AppVersion-1.7.0-informational?style=flat-square)
66

77
## Documentation
88

@@ -15,7 +15,7 @@ You can follow the detailed installation instruction in the [documentation](http
1515
```bash
1616
helm upgrade --install --namespace karpenter --create-namespace \
1717
karpenter oci://public.ecr.aws/karpenter/karpenter \
18-
--version 1.6.3 \
18+
--version 1.7.0 \
1919
--set "serviceAccount.annotations.eks\.amazonaws\.com/role-arn=${KARPENTER_IAM_ROLE_ARN}" \
2020
--set settings.clusterName=${CLUSTER_NAME} \
2121
--set settings.interruptionQueue=${CLUSTER_NAME} \
@@ -27,13 +27,13 @@ helm upgrade --install --namespace karpenter --create-namespace \
2727
As the OCI Helm chart is signed by [Cosign](https://github.com/sigstore/cosign) as part of the release process you can verify the chart before installing it by running the following command.
2828

2929
```shell
30-
cosign verify public.ecr.aws/karpenter/karpenter:1.6.3 \
30+
cosign verify public.ecr.aws/karpenter/karpenter:1.7.0 \
3131
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
3232
--certificate-identity-regexp='https://github\.com/aws/karpenter-provider-aws/\.github/workflows/release\.yaml@.+' \
3333
--certificate-github-workflow-repository=aws/karpenter-provider-aws \
3434
--certificate-github-workflow-name=Release \
35-
--certificate-github-workflow-ref=refs/tags/v1.6.2 \
36-
--annotations version=1.6.3
35+
--certificate-github-workflow-ref=refs/tags/v1.7.0 \
36+
--annotations version=1.7.0
3737
```
3838

3939
## Values
@@ -49,9 +49,9 @@ cosign verify public.ecr.aws/karpenter/karpenter:1.6.3 \
4949
| controller.envFrom | list | `[]` | |
5050
| controller.extraVolumeMounts | list | `[]` | Additional volumeMounts for the controller container. |
5151
| controller.healthProbe.port | int | `8081` | The container port to use for http health probe. |
52-
| controller.image.digest | string | `"sha256:37c761a3a0b485fd34db1390317ef6149141f532c5a699c528b98fb8f9cc722a"` | SHA256 digest of the controller image. |
52+
| controller.image.digest | string | `"sha256:40a8887ca47323acecc3c55fbbdde17c925113b5ec1c430733dce0ee67678e42"` | SHA256 digest of the controller image. |
5353
| controller.image.repository | string | `"public.ecr.aws/karpenter/controller"` | Repository path to the controller image. |
54-
| controller.image.tag | string | `"1.6.3"` | Tag of the controller image. |
54+
| controller.image.tag | string | `"1.7.0"` | Tag of the controller image. |
5555
| controller.metrics.port | int | `8080` | The container port to use for metrics. |
5656
| controller.resources | object | `{}` | Resources for the controller container. |
5757
| controller.securityContext.appArmorProfile | object | `{}` | AppArmor profile for the controller container. |
@@ -90,15 +90,16 @@ cosign verify public.ecr.aws/karpenter/karpenter:1.6.3 \
9090
| serviceMonitor.endpointConfig | object | `{}` | Configuration on `http-metrics` endpoint for the ServiceMonitor. Not to be used to add additional endpoints. See the Prometheus operator documentation for configurable fields https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#endpoint |
9191
| serviceMonitor.metricRelabelings | list | `[]` | Metric relabelings for the `http-metrics` endpoint on the ServiceMonitor. For more details on metric relabelings, see: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs |
9292
| serviceMonitor.relabelings | list | `[]` | Relabelings for the `http-metrics` endpoint on the ServiceMonitor. For more details on relabelings, see: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config |
93-
| settings | object | `{"batchIdleDuration":"1s","batchMaxDuration":"10s","clusterCABundle":"","clusterEndpoint":"","clusterName":"","disableDryRun":false,"eksControlPlane":false,"featureGates":{"nodeRepair":false,"reservedCapacity":true,"spotToSpotConsolidation":false},"interruptionQueue":"","isolatedVPC":false,"minValuesPolicy":"Strict","preferencePolicy":"Respect","reservedENIs":"0","vmMemoryOverheadPercent":0.075}` | Global Settings to configure Karpenter |
93+
| settings | object | `{"batchIdleDuration":"1s","batchMaxDuration":"10s","clusterCABundle":"","clusterEndpoint":"","clusterName":"","disableDryRun":false,"eksControlPlane":false,"featureGates":{"nodeOverlay":false,"nodeRepair":false,"reservedCapacity":true,"spotToSpotConsolidation":false},"interruptionQueue":"","isolatedVPC":false,"minValuesPolicy":"Strict","preferencePolicy":"Respect","reservedENIs":"0","vmMemoryOverheadPercent":0.075}` | Global Settings to configure Karpenter |
9494
| settings.batchIdleDuration | string | `"1s"` | The maximum amount of time with no new ending pods that if exceeded ends the current batching window. If pods arrive faster than this time, the batching window will be extended up to the maxDuration. If they arrive slower, the pods will be batched separately. |
9595
| settings.batchMaxDuration | string | `"10s"` | The maximum length of a batch window. The longer this is, the more pods we can consider for provisioning at one time which usually results in fewer but larger nodes. |
9696
| settings.clusterCABundle | string | `""` | Cluster CA bundle for TLS configuration of provisioned nodes. If not set, this is taken from the controller's TLS configuration for the API server. |
9797
| settings.clusterEndpoint | string | `""` | Cluster endpoint. If not set, will be discovered during startup (EKS only). |
9898
| settings.clusterName | string | `""` | Cluster name. |
9999
| settings.disableDryRun | bool | `false` | Disable dry run validation for EC2NodeClasses. |
100100
| settings.eksControlPlane | bool | `false` | Marking this true means that your cluster is running with an EKS control plane and Karpenter should attempt to discover cluster details from the DescribeCluster API. |
101-
| settings.featureGates | object | `{"nodeRepair":false,"reservedCapacity":true,"spotToSpotConsolidation":false}` | Feature Gate configuration values. Feature Gates will follow the same graduation process and requirements as feature gates in Kubernetes. More information here https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features. |
101+
| settings.featureGates | object | `{"nodeOverlay":false,"nodeRepair":false,"reservedCapacity":true,"spotToSpotConsolidation":false}` | Feature Gate configuration values. Feature Gates will follow the same graduation process and requirements as feature gates in Kubernetes. More information here https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features. |
102+
| settings.featureGates.nodeOverlay | bool | `false` | nodeOverlay is ALPHA and is disabled by default. Setting this will allow the use of node overlay to impact scheduling decisions |
102103
| settings.featureGates.nodeRepair | bool | `false` | nodeRepair is ALPHA and is disabled by default. Setting this to true will enable node repair. |
103104
| settings.featureGates.reservedCapacity | bool | `true` | reservedCapacity is BETA and is enabled by default. Setting this will enable native on-demand capacity reservation support. |
104105
| settings.featureGates.spotToSpotConsolidation | bool | `false` | spotToSpotConsolidation is ALPHA and is disabled by default. Setting this to true will enable spot replacement consolidation for both single and multi-node consolidation. |

charts/karpenter/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,9 @@ controller:
121121
# -- Repository path to the controller image.
122122
repository: public.ecr.aws/karpenter/controller
123123
# -- Tag of the controller image.
124-
tag: 1.6.3
124+
tag: 1.7.0
125125
# -- SHA256 digest of the controller image.
126-
digest: sha256:80248a5b6141d31d4a2a435df598120a9f274536807d49aea122f5fc3e164b53
126+
digest: sha256:40a8887ca47323acecc3c55fbbdde17c925113b5ec1c430733dce0ee67678e42
127127
# -- Additional environment variables for the controller pod.
128128
env: []
129129
# - name: AWS_REGION
@@ -213,7 +213,7 @@ settings:
213213
# -- nodeRepair is ALPHA and is disabled by default.
214214
# Setting this to true will enable node repair.
215215
nodeRepair: false
216-
# -- nodeOverlay is ALPHA and is disabled by default.
216+
# -- nodeOverlay is ALPHA and is disabled by default.
217217
# Setting this will allow the use of node overlay to impact scheduling decisions
218218
nodeOverlay: false
219219
# -- reservedCapacity is BETA and is enabled by default.

hack/docs/compatibilitymatrix_gen/compatibility.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,8 @@ compatibility:
7373
minK8sVersion: 1.26
7474
maxK8sVersion: 1.33
7575
- appVersion: 1.6.x
76+
minK8sVersion: 1.26
77+
maxK8sVersion: 1.33
78+
- appVersion: 1.7.x
7679
minK8sVersion: 1.26
7780
maxK8sVersion: 1.33

website/content/en/docs/concepts/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Karpenter deletes nodes when they are no longer needed.
5252
* [**Finalizer**]({{<ref "disruption#manual-methods" >}}): Karpenter places a finalizer bit on each node it creates.
5353
When a request comes in to delete one of those nodes (such as a TTL or a manual `kubectl delete node`), Karpenter will cordon the node, drain all the pods, terminate the EC2 instance, and delete the node object.
5454
Karpenter handles all clean-up work needed to properly delete the node.
55-
* [**Expiration**]({{<ref "disruption" >}}): Karpenter will mark nodes as expired and disrupt them after they have lived a set number of seconds, based on the NodePool's `spec.disruption.expireAfter` value. You can use node expiry to periodically recycle nodes due to security concerns.
55+
* [**Expiration**]({{<ref "disruption" >}}): Karpenter will mark nodes as expired and disrupt them after they have lived a set number of seconds, based on the NodePool's `spec.template.spec.expireAfter` value. You can use node expiry to periodically recycle nodes due to security concerns.
5656
* [**Consolidation**]({{<ref "disruption#consolidation" >}}): Karpenter works to actively reduce cluster cost by identifying when:
5757
* Nodes can be removed because the node is empty
5858
* Nodes can be removed as their workloads will run on other nodes in the cluster.

website/content/en/docs/concepts/nodeclasses.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,6 @@ spec:
8585
- id: sg-063d7acfb4b06c82c
8686

8787
# Optional, IAM role to use for the node identity.
88-
# The "role" field is immutable after EC2NodeClass creation. This may change in the
89-
# future, but this restriction is currently in place today to ensure that Karpenter
90-
# avoids leaking managed instance profiles in your account.
9188
# Must specify one of "role" or "instanceProfile" for Karpenter to launch nodes
9289
role: "KarpenterNodeRole-${CLUSTER_NAME}"
9390

@@ -709,6 +706,10 @@ For [private clusters](https://docs.aws.amazon.com/eks/latest/userguide/private-
709706

710707
{{% /alert %}}
711708

709+
{{% alert title="Warning" color="warning" %}}
710+
When using `spec.instanceProfile`, ensure you are using pre-provisioned instance profiles that you manage yourself.
711+
{{% /alert %}}
712+
712713
## spec.amiSelectorTerms
713714

714715
AMI Selector Terms are __required__ and are used to configure AMIs for Karpenter to use. AMIs are discovered through alias, id, owner, name, and [tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
@@ -765,7 +766,7 @@ The following commands can be used to determine the versions availble for an ali
765766
{{% /tab %}}
766767
{{% tab "AL2" %}}
767768
```bash
768-
export K8S_VERSION="1.32"
769+
export K8S_VERSION="1.33"
769770
aws ssm get-parameters-by-path --path "/aws/service/eks/optimized-ami/$K8S_VERSION/amazon-linux-2/" --recursive | jq -cr '.Parameters[].Name' | grep -v "recommended" | awk -F '/' '{print $8}' | sed -r 's/.*(v[[:digit:]]+)$/\1/' | sort | uniq
770771
```
771772
{{% /tab %}}

0 commit comments

Comments
 (0)