Warning
As part of the v1beta1 APIs, v0.32.0 and v0.32.1 removed the InstanceProfile field, where Karpenter allows users to set a Role instead. This role is used to create/delete an instance profile for the user. This unintentionally removed support for clusters that do not have access to a private IAM endpoint. Karpenter is exploring options here to add back in support in and will release v0.32.2 to include that. Track #4985 for more information on this issue.
Features
- Add imageID status field (#4637) #4637 (George Wheatcroft)
- Adding CEL validation for the
EC2NodeClass
(#4746) #4746 (Amanuel Engeda) - v1beta1 (#4744) #4744 (Jonathan Innis)
- CEL Validation for NodeClaim Requirement (#4895) #4895 (Amanuel Engeda)
- CEL Validation for
NodePool.Spec.Template
Labels (#4906) #4906 (Amanuel Engeda)
Bug Fixes
- report an error when the node template is not found #4721 (Todd Neal)
- add checkout to snapshot / release workflows (#4751) #4751 (Jason Deal)
- id-token permission for release / snapshot (#4752) #4752 (Jason Deal)
- use inputs for composite action (#4753) #4753 (Jason Deal)
- Handle rollback to earlier version of Karpenter (#4830) #4830 (Jonathan Innis)
- karpenter-convert changes post bug bash (#4833) #4833 (Giacomo Tomolillo)
- Enforce
karpenter.k8s.aws
tags on instance profiles and instances (#4872) #4872 (Jonathan Innis) - create offerings regardless of subnets (#4857) #4857 (Nick Tran)
- Restore PR write permissions to PRSnapshot (#4917) #4917 (Ellis Tarn)
- Stop firing conformance testing Notifications (#4927) #4927 (Amanuel Engeda)
- Fix bug in drift ami resolution with incompatible requirements (#4925) #4925 (Jonathan Innis)
Documentation
- Update docs for v0.31.0 (#4717) #4717 (Amanuel Engeda)
- specify merging behavior for custom AMI family #4726 (Todd Neal)
- fix
/docs
to be the same as v0.31 (#4733) #4733 (Amanuel Engeda) - helm crd install error missing Machine CRD docs (#4757) #4757 (Amanuel Engeda)
- Update limits.md with correct Kubernetes CPU Limits reference link (#4759) #4759 (vivekkoya)
- Update
NodeTemplate
doc toNodeClasses
and rename files to v1beta1 (#4761) #4761 (Jonathan Innis) - Update CloudFormation to handle v1beta1 permissions (#4771) #4771 (Jonathan Innis)
- Update README.md with correct go installation repository link (#4760) #4760 (vivekkoya)
- Update scheduling doc to v1beta1 (#4777) #4777 (Jonathan Innis)
- Update settings doc to v1beta1 apis (#4778) #4778 (Jonathan Innis)
- Backport the compatibility matrix (#4783) #4783 (Jonathan Innis)
- Drop instance profile creation from policy (#4785) #4785 (Jonathan Innis)
- Describe cloudformation.yaml for docs (#4394) #4394 (Chris Negus)
- Update README.md (#4797) #4797 (Isac Cavalcante)
- Move reference documentation into the reference section (#4792) #4792 (Jonathan Innis)
- Update the disruption doc to v1beta1 (#4794) #4794 (Jonathan Innis)
- Update the NodePools doc to v1beta1 (#4795) #4795 (Jonathan Innis)
- Fix field rename misses in the EC2NodeClass docs (#4842) #4842 (Jonathan Innis)
- Update getting started guide to v1beta1 apis and concepts (#4839) #4839 (Jonathan Innis)
- Update the FAQ doc to v1beta1 apis and concepts (#4835) #4835 (Jonathan Innis)
- Update conceptual index doc to v1beta1 APIs and concepts (#4831) #4831 (Jonathan Innis)
- Update examples to v1beta1 (#4832) #4832 (Jonathan Innis)
- Upgrade docs for v1beta1 (#4749) #4749 (Chris Negus)
- Add Rapid7 to the list of Karpenter adopters (#4852) #4852 (snorlaX-sleeps)
- nodeselector,affinities and topology considerations for requirements (#4851) #4851 (syedsadath-17)
- Fix region being undefined while applying beta policy (#4865) #4865 (Jonathan Innis)
- Fix docs redirects (#4870) #4870 (Jonathan Innis)
- Add more detail on removing CRDs and removing the IAM policy (#4871) #4871 (Jonathan Innis)
- change getting started guide to refer to patch version (#4874) #4874 (Nick Tran)
- Add the Karpenter Blueprints and Karpeter Tutorial as additional resources in the Getting Started page (#4854) #4854 (Christian Melendez)
- Add section regarding c1.medium and m1.small swap provisioning failures. (#4858) #4858 (Myles Williams)
- Add contribution info (#4882) #4882 (Pål-Magnus Slåtto)
- Fix typo of NodePools in
upgrade-guide.md
(#4892) #4892 (Jonathan Innis) - Bump k8s version in docs to
1.28
(#4914) #4914 (Jonathan Innis) - Update some docs around Helm Values changes for
featureGates
(#4912) #4912 (Jonathan Innis) - Make the latest K8s version a parameter (#4918) #4918 (Jonathan Innis)
- Mark EC2NodeClass role as required (#4938) #4938 (Jonathan Innis)
- add docs with new taint (#4950) #4950 (Nick Tran)
- v1beta1 Upgrade Docs Updates (#4945) #4945 (Jonathan Innis)
- Update drift docs for Specified and Discovered drift (#4790) #4790 (Amanuel Engeda)
- add breaking change docs on termination taint (#4965) #4965 (Nick Tran)
- Add updated information for threat model (#4966) #4966 (Jonathan Innis)
- add clarifying point about breaking change with taint (#4970) #4970 (Nick Tran)
- Add callouts for
v0.31.2
version for rollback (#4971) #4971 (Jonathan Innis)
Tests
- allow updating env for ds with multiple containers (#4706) #4706 (Jason Deal)
- move snapshot releases to separate ECR repo (#4734) #4734 (Jason Deal)
- Remove c7a instancetype for windows test (#4770) #4770 (Amanuel Engeda)
- Remove c7a instancetype for windows E2E test on KubeletConfiguration Overrides (#4779) #4779 (Amanuel Engeda)
- Provide IAM permission to
cloudformation:DescribeStackResources
(#4786) #4786 (Jonathan Innis) - Fix scale testing (#4808) #4808 (Jonathan Innis)
- replaced offsets with GinkgoHelper() (#4796) #4796 (syedsadath-17)
- Fix cleanup of drift vpc elements (#4810) #4810 (Jonathan Innis)
- v1beta1 e2e testing (#4873) #4873 (Jonathan Innis)
- Fix cluster name containing slash (#4876) #4876 (Jonathan Innis)
- Add Integration E2E testing for v1beta1 (#4875) #4875 (Jonathan Innis)
- add in consolidation v1beta1 tests (#4878) #4878 (Nick Tran)
- Add NodeClaim testing for E2E for v1beta1 (#4891) #4891 (Jonathan Innis)
- Add Expiration testing for E2E for v1beta1 (#4887) #4887 (Jonathan Innis)
- Add Chaos testing for E2E for v1beta1 (#4888) #4888 (Jonathan Innis)
- Add Interruption testing for E2E for v1beta1 (#4889) #4889 (Jonathan Innis)
- Add IPv6 testing for E2E for v1beta1 (#4890) #4890 (Jonathan Innis)
- Fix E2E test permissions and Upgrade testing (#4880) #4880 (Jonathan Innis)
- use legacy taint logic for disruption (#4896) #4896 (Nick Tran)
- add beta scale test (#4908) #4908 (Nick Tran)
- fix beta scale test (#4939) #4939 (Nick Tran)
- fix some scale test bugs (#4955) #4955 (Nick Tran)
Continuous Integration
- Fix passing through the
event_name
correctly (#4719) #4719 (Jonathan Innis) - Remove 1.22 from our testing (#4736) #4736 (Amanuel Engeda)
- Pin helm version in action due to
v3.13.0
bug (#4762) #4762 (Jonathan Innis) - Update the threat model to v1beta1 (#4766) #4766 (Jonathan Innis)
- Call composite action with values (#4767) #4767 (Jonathan Innis)
- Bump
from_git_ref
to version that pins helm version (#4764) #4764 (Jonathan Innis) - disable china price gen (#4763) #4763 (Jason Deal)
- Ensure that instance profile creation and assignment is idempotent (#4798) #4798 (Jonathan Innis)
- Fix docgen failure due to directory move (#4801) #4801 (Jonathan Innis)
- add env vars for e2e tests (#4815) #4815 (Jason Deal)
- ensure release can't be dirty (#4824) #4824 (Jason Deal)
- Fix sweeper bug with instance profiles (#4834) #4834 (Jonathan Innis)
- Enable control plane logging for e2e tests (#4846) #4846 (Jonathan Innis)
- update env vars for e2e tests (#4862) #4862 (Jason Deal)
- Fix helm linting on configmap (#4919) #4919 (Jonathan Innis)
- Add cleanup and region parameters to workflow runs (#4929) #4929 (Jonathan Innis)
- Fix conformance testing failure with inputs (#4932) #4932 (Jonathan Innis)
- Fix failures in GHA linting (#4937) #4937 (Jonathan Innis)
- Use cleanup input (#4942) #4942 (Jonathan Innis)
- Fix cleanup permissions (#4943) #4943 (Jonathan Innis)
- Change conformance testing to versionCompatibility (#4949) #4949 (Amanuel Engeda)
- Limit parallelism for
E2EVersionCompatibilityTrigger
(#4961) #4961 (Amanuel Engeda) - Bump eksctl to v0.164.0 (#4957) #4957 (Jonathan Innis)
- Add GHA linting (#4933) #4933 (Jonathan Innis)
- Pin helm version for
release.yaml
(#4974) #4974 (Jonathan Innis)
Chores
- deps: bump the go-deps group with 2 updates (#4715) #4715 (dependabot[bot])
- deps: bump the website-deps group in /website with 1 update (#4729) #4729 (dependabot[bot])
- deps: bump the go-deps group with 2 updates (#4730) #4730 (dependabot[bot])
- Drop support for tag-based ami requirements with
v1beta1/NodeClass
(#4728) #4728 (Jonathan Innis) - Update NodeClassReference to have fieldname
nodeClassRef
(#4741) #4741 (Jonathan Innis) - update aws role to GithubRelease (#4743) #4743 (Jason Deal)
- Bump karpenter-core, expose webhooks on port 8001, and enable disabling webhooks (#4732) #4732 (Jonathan Innis)
- bump karpenter-core to include CEL validation (#4748) #4748 (Amanuel Engeda)
- update core to get new termination singleton controller (#4754) #4754 (Nick Tran)
- deps: bump the go-deps group with 2 updates (#4774) #4774 (dependabot[bot])
- deps: bump the actions-deps group with 1 update (#4773) #4773 (dependabot[bot])
- deps: bump the go-deps group with 1 update (#4780) #4780 (dependabot[bot])
- Include a tool to migrate v1alpha5 manifests to v1beta1 ones (#4690) #4690 (Giacomo Tomolillo)
- Exclude APICodeGen in community-contributors.sh (#4787) #4787 (Bill Rayburn)
- Add handling for v1beta1 logging configuration migration (#4768) #4768 (Jonathan Innis)
- deps: bump golang.org/x/net from 0.12.0 to 0.17.0 in /tools/allocatable-diff (#4805) #4805 (dependabot[bot])
- deps: bump golang.org/x/net from 0.14.0 to 0.17.0 in /tools/karpenter-convert (#4804) #4804 (dependabot[bot])
- deps: bump golang.org/x/net from 0.14.0 to 0.17.0 (#4803) #4803 (dependabot[bot])
- Hydrate AMIFamily with AL2 when using nil in Provisioner (#4816) #4816 (Jonathan Innis)
- k8s latest packages (#4788) #4788 (syedsadath-17)
- deps: bump the go-deps group with 1 update (#4843) #4843 (dependabot[bot])
- deps: bump the go-deps group with 1 update (#4856) #4856 (dependabot[bot])
- deps: bump the k8s-go-deps group with 3 updates (#4855) #4855 (dependabot[bot])
- Pass the version through to the kubeClient userAgent (#4861) #4861 (Jonathan Innis)
- deps: bump the go-deps group with 1 update (#4863) #4863 (dependabot[bot])
- karpenter-global-settings migration (#4789) #4789 (Jason Deal)
- Passthrough new helm values as environment variables (#4840) #4840 (Jonathan Innis)
- remove EnablePodENI logic (#4867) #4867 (Jason Deal)
- Bump
karpenter-core
to latest (#4877) #4877 (Jonathan Innis) - deps: bump the go-deps group with 1 update (#4879) #4879 (dependabot[bot])
- Restrict owner key in
amiSelectorTerms
from being set with tags (#4885) #4885 (Jonathan Innis) - deps: bump the go-deps group with 1 update (#4886) #4886 (dependabot[bot])
- Bump
aws/karpenter-core
to latest (#4897) #4897 (Jonathan Innis) - deps: bump the go-deps group with 1 update (#4898) #4898 (dependabot[bot])
- Add more E2E test fixes for the Beta Suites (#4899) #4899 (Jonathan Innis)
- deps: bump the go-deps group with 1 update (#4901) #4901 (dependabot[bot])
- fix env vars for v1beta1 controller policy (#4909) #4909 (Nick Tran)
- Audited and documented permissions for gha (#4910) #4910 (Ellis Tarn)
- CEL NodeClaimsTemplate Labels Clean-up (#4916) #4916 (Amanuel Engeda)
- Remove GITHUB_ENV in favor of GITHUB_OUTPUT (#4926) #4926 (Ellis Tarn)
- E2E Test Fixes for Beta (#4902) #4902 (Jonathan Innis)
- deps: bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4928) #4928 (dependabot[bot])
- deps: bump google.golang.org/grpc from 1.55.0 to 1.56.3 in /tools/allocatable-diff (#4930) #4930 (dependabot[bot])
- deps: bump the go-deps group with 2 updates (#4931) #4931 (dependabot[bot])
- fix alpha scale github action (#4936) #4936 (Nick Tran)
- Not allowing empty role to be set on EC2NodeClass (#4940) #4940 (Amanuel Engeda)
- update core to include new taint (#4951) #4951 (Nick Tran)
- Error on
spec.launchTemplate
forkarpenter-convert
(#4956) #4956 (Jonathan Innis) - Handle Provisioners with provider field for
karpenter-convert
(#4946) #4946 (Jonathan Innis) - update core to pull in topology fix (#4964) #4964 (Nick Tran)
- deps: bump the go-deps group with 1 update (#4967) #4967 (dependabot[bot])
- update go.mod entry for karpenter-core v0.32.0 (#4973) #4973 (Jason Deal)
Commits
- 3c87bc6: Stable Release updates Release v0.31.0. (StableRelease) #4716
- 21d5cca: China Pricing Endpoint (paurosello) #4677
- 4c81723: fix identation (Pau) #4677
- e94bffe: Fix endpoint (Pau) #4677
- c5e011c: Add permission in release workflow for GH release generation (Jonathan Innis) #4802
- f55af44: Fix returning non-empty reconcile result and error (#4864) (Jonathan Innis) #4864
- Fix helm ordering of values and set default log encoding to
json
(#4921) #4921 (Jonathan Innis)