v1.0.0
Features
- promote drift to stable (#1311) #1311 (Reed Schalo)
- Adding printer columns on v1 NodeClaims (#1367) #1367 (Amanuel Engeda)
- Add karpenter client-go metrics (#1369) #1369 (Jonathan Innis)
- Adding print columns for v1 NodePool (#1365) #1365 (Amanuel Engeda)
- require and then remove karpenter startup taint (#1336) #1336 (Reed Schalo)
- Add Conversion Webhooks for V1 APIs (#1356) #1356 (Amanuel Engeda)
- Upgrade Karpenter APIs to v1 (#1406) #1406 (Reed Schalo)
- disruption.terminationGracePeriod (#916) #916 (wmgroot)
- Drop Env Vars for v1 (#1457) #1457 (Reed Schalo)
- change metrics port (#1462) #1462 (Reed Schalo)
- Remove karpenter.sh/managed-by var (#1472) #1472 (Reed Schalo)
- implement consolidateAfter (#1453) #1453 (Nick Tran)
- Drop Support for Log Config, Add Log Paths (#1469) #1469 (Reed Schalo)
Bug Fixes
- allow single character status condition reason (#1304) #1304 (Jason Deal)
- kwok offerings to use correct requirements (#1319) #1319 (Nick Tran)
- add deletiontimestamp check for kwok termination (#1322) #1322 (Nick Tran)
- logger print KubeConfig error (#1345) #1345 (daimaxiaxie)
- update nodeClassRef.apiVersion refs to group (#1408) #1408 (Jason Deal)
- put webhook disable option back (#1439) #1439 (Reed Schalo)
- Bump
github.com/awslabs/operatorpkg
to fix race condition (#1490) #1490 (Jonathan Innis) - Ensure persistent volumes are detached before deleting node (#1294) #1294 (Drew Sirenko)
- fix log line on consistency errors (#1511) #1511 (Nick Tran)
- ensure NillableDuration is round-trippable (#1545) #1545 (Jason Deal)
Documentation
- add RFC on making expiration forceful (#1303) #1303 (Nick Tran)
- Change example NodePool in kwok readme from v1beta to v1. (#1473) #1473 (payall4u)
Tests
- remove timeout tests that weren't working (#1309) #1309 (Nick Tran)
- update node termination test to model eventual removal (#1320) #1320 (Jason Deal)
- add test timestamp collector (#1324) #1324 (Nick Tran)
- add output_dir env variable for timestamp exports (#1335) #1335 (Nick Tran)
- Changes to add KPIs to e2e action (#1321) #1321 (Nathaniel Jones)
- fix e2e tests assertion (#1395) #1395 (Nick Tran)
- remove k8s 1.23 and 1.24 tests (#1397) #1397 (Nick Tran)
- fix kind cluster test cleanup flakes (#1399) #1399 (Nick Tran)
- upgrade tests and change to preferred pod affinity (#1409) #1409 (Nick Tran)
- add kind kwok e2es to presubmit (#1411) #1411 (Nick Tran)
- add cluster log dump when test fails (#1416) #1416 (Nick Tran)
- implement nodeclaim.spec.terminationGracePeriod CEL tests (#1427) #1427 (wmgroot)
- Improved Disruption Test Suite duration from 527 seconds to 38 seconds (#1435) #1435 (Ellis Tarn)
- remove kind due to flakes (#1465) #1465 (Nick Tran)
Continuous Integration
- Updated Karpenter Evaluate version for e2e tests action (#1436) #1436 (Nathaniel Jones)
- let matrix do not fail fast. (#1502) #1502 (Lan)
Chores
- Drop deprecated v1alpha5 labels (#1292) #1292 (Reed Schalo)
- update go to 1.22.4 (#1299) #1299 (Nick Tran)
- replace custom utils functions with k8s.io/kubernetes library (#1298) #1298 (Feruzjon Muyassarov)
- fix up kwok cloud provider (#1295) #1295 (Nick Tran)
- Convert singleton reconcilers to operatorpkg (#1289) #1289 (Jonathan Innis)
- move disruption and pdb utils and factor isDisruptable into cluster state (#1296) #1296 (Nick Tran)
- Drop unused scheduler context argument (#1312) #1312 (Jonathan Innis)
- Remove
Get()
in offerings in favor ofCompatible()
(#1313) #1313 (Jonathan Innis) - deps: bump the go-deps group with 2 updates (#1316) #1316 (dependabot[bot])
- deps: bump sigs.k8s.io/controller-runtime from 0.18.3 to 0.18.4 in the k8s-go-deps group (#1315) #1315 (dependabot[bot])
- fix kwok offerings to use new requirements (#1317) #1317 (Nick Tran)
- add 1.30 into presubmit versions (#1318) #1318 (Nick Tran)
- add kwok e2e environment utils (#1279) #1279 (Nick Tran)
- Wait for instance termination before deleting nodeclaim (#1195) #1195 (Jigisha Patil)
- fix kwok api version group (#1328) #1328 (Nick Tran)
- deps: bump actions/checkout from 4.1.6 to 4.1.7 in the actions-deps group (#1325) #1325 (dependabot[bot])
- deps: bump actions/checkout from 4.1.6 to 4.1.7 in /.github/actions/install-pyroscope in the action-deps group (#1326) #1326 (dependabot[bot])
- deps: bump actions/checkout from 4.1.6 to 4.1.7 in /.github/actions/install-prometheus in the action-deps group (#1327) #1327 (dependabot[bot])
- deps: bump the k8s-go-deps group with 8 updates (#1329) #1329 (dependabot[bot])
- Copy the
v1beta1
APIs asv1
forNodePool
andNodeClaim
(#1297) #1297 (Amanuel Engeda) - deps: bump k8s.io/klog/v2 from 2.130.0 to 2.130.1 in the k8s-go-deps group (#1347) #1347 (dependabot[bot])
- Add IsCompatible (#1349) #1349 (Ellis Tarn)
- Increase nodeClaim spec.requirements to 100 (#1344) #1344 (Jigisha Patil)
- Drop event recorder from provisioning controllers (#1332) #1332 (Jonathan Innis)
- Increase nodeClaim spec.requirements to 100 (#1353) #1353 (Jigisha Patil)
- Update storage version to v1beta1 APIs (#1357) #1357 (Amanuel Engeda)
- encapsulate state.Cluster inside of NewControllers (#1363) #1363 (Ellis Tarn)
- Simplify scheme to use clientgoscheme (#1364) #1364 (Ellis Tarn)
- Make NodeClaim Spec Immutable on v1 API (#1359) #1359 (Amanuel Engeda)
- Remove kubelet configuration from the v1 APIs (#1358) #1358 (Amanuel Engeda)
- Update
nodeClassRef
to be Group instead of APIVersion (#1360) #1360 (Amanuel Engeda) - Remove Resource field from the NodePool API (#1361) #1361 (Amanuel Engeda)
- deps: bump the go-deps group across 1 directory with 3 updates (#1371) #1371 (dependabot[bot])
- Remove dangling dependency on state.Cluster (#1372) #1372 (Ellis Tarn)
- Simplify scheme to use clientgoscheme for KWOK (#1368) #1368 (Jigisha Patil)
- Add disruption by reason to the v1 NodePool API (#1377) #1377 (Amanuel Engeda)
- update kwok to v0.5.2 and scale back replicas (#1380) #1380 (Nick Tran)
- Group consolidation warning log lines together (#1375) #1375 (Jonathan Innis)
- Remove usage of
knative.dev
logger (#1382) #1382 (Jonathan Innis) - Move native sidecar container testing out of DaemonSet Context (#1383) #1383 (Jonathan Innis)
- address GO-2024-2963 (#1386) #1386 (Reed Schalo)
- remove knative ptr (#1387) #1387 (Reed Schalo)
- Add status conditions to nodepool and nodeclaim (#1385) #1385 (Jigisha Patil)
- Add status conditions on nodepool (#1248) #1248 (Jigisha Patil)
- Add Kubelet Annotation for the Conversion webhooks (#1393) #1393 (Amanuel Engeda)
- fix kwok for previous changes (#1394) #1394 (Nick Tran)
- Deprecate functional library in favor of lo and operatorpkg (#1398) #1398 (Ellis Tarn)
- deps: bump github.com/docker/docker from 27.0.2+incompatible to 27.0.3+incompatible in the go-deps group across 1 directory (#1391) #1391 (dependabot[bot])
- update nodepool readiness to rely on nodeClass deletion timestamp (#1401) #1401 (Jigisha Patil)
- show caller in debug LogLevel (#1374) #1374 (daimaxiaxie)
- Add operator status condition metrics (#1388) #1388 (Jonathan Innis)
- Add check for conflict during registration flow (#1404) #1404 (Jonathan Innis)
- drop validation webhooks and disable webhook flag (#1403) #1403 (Jason Deal)
- Validate do not disrupt annotation on node is true (#1331) #1331 (Jigisha Patil)
- Removed deadcode (#1410) #1410 (Ellis Tarn)
- fix kwok permissions (#1415) #1415 (Nick Tran)
- capitalize disruption budgets by reason (#1417) #1417 (Nick Tran)
- Remove v1beta1 kubelet compatibility NodePool Annotation hash from v1 NodePool (#1412) #1412 (Amanuel Engeda)
- deps: bump actions/setup-python from 5.1.0 to 5.1.1 in the actions-deps group (#1422) #1422 (dependabot[bot])
- deps: bump github.com/samber/lo from 1.44.0 to 1.46.0 in the go-deps group (#1423) #1423 (dependabot[bot])
- deps: bump actions/setup-go from 5.0.1 to 5.0.2 in /.github/actions/install-deps in the action-deps group (#1425) #1425 (dependabot[bot])
- pretty print cluster on testing (#1424) #1424 (Ellis Tarn)
- Only Include the kubelet annotation when present in v1beta1 (#1432) #1432 (Amanuel Engeda)
- move expireAfter to NodeClaimTemplate (#1426) #1426 (Nick Tran)
- add permissions for tgp (#1441) #1441 (Nick Tran)
- fix debug cluster print to include non-meta (#1443) #1443 (Nick Tran)
- Reconfigure metrics that are duplicated (#1431) #1431 (Jigisha Patil)
- Update counter metrics to have suffix _total (#1459) #1459 (Jigisha Patil)
- remove readiness check on cache sync (#1460) #1460 (Jason Deal)
- reconfigure pod startup metric (#1467) #1467 (Jigisha Patil)
- drop metrics in favour of workqueue metrics (#1458) #1458 (Jigisha Patil)
- deps: bump the go-deps group across 1 directory with 3 updates (#1476) #1476 (dependabot[bot])
- rename disruption taint (#1468) #1468 (Jason Deal)
- deps: bump the k8s-go-deps group with 7 updates (#1455) #1455 (dependabot[bot])
- Add logging config dropping to the v1 RFC (#1477) #1477 (Jonathan Innis)
- add script for install kube-prometheus. (#1461) #1461 (Lan)
- remove tgp from v1beta1 (#1481) #1481 (Nick Tran)
- Bump operatorpkg with latest metrics (#1484) #1484 (Jonathan Innis)
- Status validation to be on v1beta1 NodeClaims (#1489) #1489 (Amanuel Engeda)
- Add status validation to v1 (#1496) #1496 (Amanuel Engeda)
- rename whenUnderutilized to WhenEmptyOrUnderutilized (#1497) #1497 (Nick Tran)
- reconfigure upstream metrics (#1483) #1483 (Jigisha Patil)
- Ensure that NodeClaims are held in Unknown until they reach a terminal state (#1499) #1499 (Jonathan Innis)
- fix warning logs (#1501) #1501 (Nick Tran)
- Remove disruption reason from v1beta1 (#1508) #1508 (Amanuel Engeda)
- deps: bump the go-deps group with 4 updates (#1512) #1512 (dependabot[bot])
- Bump
github.com/awslabs/operatorpkg
to latest (#1513) #1513 (Jonathan Innis) - update node pod requests and limits to include daemon set (#1514) #1514 (Jigisha Patil)
- Add pattern check for group in nodeClassRef (#1516) #1516 (Jigisha Patil)
- Mark the status condition as false when unregistered taint isn't present and block initialized (#1517) #1517 (Jonathan Innis)
- update nodeclaim status condition from terminating to instance… (#1528) #1528 (Jigisha Patil)
- fix capitalization in disruption log (#1530) #1530 (Nick Tran)
- Change reason to
NodeClassNotFound
to matchNodeNotFound
(#1533) #1533 (Jonathan Innis) - Minor fixes to disruption logging (#1532) #1532 (Jonathan Innis)
- fix nodeClassRef conversion (#1534) #1534 (Jigisha Patil)
- Fix disruption reason casing (#1535) #1535 (Jonathan Innis)
- Retain EC2NodeClass reference information during the conversion (#1544) #1544 (Jonathan Innis)
- nodePool readiness should validate nodeClass referenced is sup… (#1546) #1546 (Jigisha Patil)
- do not set version to NodeClassRef on test environment. (#1559) #1559 (Lan)
- update max delay for NodeClaim lifecycle controller (#1561) #1561 (Reed Schalo)
Commits
- f2de2b4: Revert "chore(deps): revert dependabot bumps" (#1291) (Jonathan Innis) #1291
- 405d95b: Revert "chore: replace custom utils functions with k8s.io/kubernetes" (#1302) (Feruzjon Muyassarov) #1302
- d0ebc12: Merge branch 'main' of https://github.com/kubernetes-sigs/karpenter into staging/v1 (Amanuel Engeda) #1308
- 94d5b41: fix bug in printing truncated maps (#1307) (Todd Neal) #1307
- aa088a6: feat: disruption controls by reason (#991) (Bryce Soghigian) #991
- f343dc4: Merge branch 'main' into staging/v1 (Jonathan Innis) #1352
- revert back to forceful expiration by default (#1333) #1333 (Bryce Soghigian)
- 40c4320: [RFC] Karpenter v1 API & Roadmap Proposal (#1222) (Jonathan Innis) #1222
- a39f99b: chore:Update metrics description (#1515) (Jigisha Patil) #1515