Releases: aws/karpenter-provider-aws
Releases · aws/karpenter-provider-aws
v0.12.0
Features
- Add support for the AWS node label
karpenter.k8s.aws/instance-hypervisor
to selectnitro
orxen
compatible instance types (#1948) - VM Memory Overhead is now configurable via passing an environment variable to the Karpenter controller (see the options here) (#1953)
- Include all Provider fields in the AWSNodeTemplate CRD (#1951)
- Implemented pprof endpoint for easy CPU and Memory profiling. See the related docs here (#1908)
- BREAKING CHANGE: Nodes will now (gracefully) terminate in response to provisioner deletion.
(#1934)
Bug Fixes
- track volume mounts per node (#1927) #1927 (Todd Neal)
- Makefile AWS_ACCOUNT_ID (#1958) #1958 (Jason Deal)
Documentation
- add tool to generate instance type docs (#1946) #1946 (Todd Neal)
- add hypervisor to scheduling docs (#1949) (Brandon Wagner) #1949
Chores
- remove unused fleet qps throttles (#1968) #1968 (Brandon Wagner)
Upgrade Guide
https://karpenter.sh/v0.12.0/upgrade-guide/#upgrading-to-v0120
Commits
- 405ad5c: protect the fake EC2 API Reset() with a mutex (#1947) (Todd Neal) #1947
- aa9777b: added missed DELETE method for provisioner (#1943) (Andrii Chubatiuk) #1943
- de03b6f: Implemented pprof (#1908) (Ellis Tarn) #1908
- Tighten RBAC permissions (#1954) #1954 (Ellis Tarn)
- a37422b: deflake config test by reiniting config (#1967) (Brandon Wagner) #1967
- 9a1666b: update docs (#1962) (Todd Neal) #1962
- ee1fed6: Release v0.12.0 (dewjam) #1970
v0.11.1
Chores
- updated PR template to request https://www.conventionalcommits.org/en/v1.0.0/ (#1928) #1928 (Ellis Tarn)
- add idealo to ADOPTERS (#1938) #1938 (Heiko Rothe)
Commits
- 8030cdb: added rules to a chart which dynamicly appear (#1932) (Andrii Chubatiuk) #1932
- 47c59ce: Update general-purpose.yaml (#1937) (dza89) #1937
- 799ec71: add kubecon eu 2022 talk (#1939) (Brandon Wagner) #1939
- AWS Well Known Labels now use - instead of . to align with upstream (#1940) #1940 (Ellis Tarn)
- 0acb73a: Release v0.11.1 (Ryan Maleki) #1942
- 205c4db: Release v0.11.1 (Ryan Maleki) #1942
- bb9396d: Merge branch 'main' of github.com:aws/karpenter into rm/v0.11.1 (Ryan Maleki)
v0.11.0
Features
- Including more well-known labels in the AWS Provider. This allows you to filter your instanceTypes by families, sizes, GPU constraints and more. See our docs to learn more about this feature, and this example to get started.
- Pre-binding pods to nodes has been removed. This solves race conditions with the Nvidia plugin and the AWS VPC CNI.
- Specify container-runtime in your kubeletConfiguration and choose between dockerd and containerd.
- Bin-packing logic now considers ephemeral storage requests.
- Additional configuration to tune the batching logic is now supported.
- Enforced harder limits on the Provisioner and report usage/limits via metrics.
- Support has been added for arbitrary affinity/anti-affinity/topology keys.
- Scheduling logic is updated to look for hostPorts configuration on pods.
Upgrade Guide
https://karpenter.sh/v0.11.0/upgrade-guide/#upgrading-to-v01100
Commits
- 0b6bc34: add a global config & make batching window configurable (#1805) (Todd Neal) #1805
- 351de47: check for HostPort compatibility when scheduling (#1842) (Todd Neal) #1842
- 1794959: during scheduling, filter instance types to those that won't violate limits (#1847) (Todd Neal) #1847
- 30c1607: Simplified instance type requirements to live behind cloudprovider API (#1852) (Ellis Tarn) #1852
- 57fb58f: Fixed the typo (#1858) (Bhushan Chirmade) #1858
- 2a07ac1: Add support for customUserData with Bottlerocket (#1720) (Suket Sharma) #1720
- dc2031a: Fix doc typos (#1860) (Wedge Jarrad) #1860
- 3116990: Update getting started to use Fargate (#1834) (Chris Negus) #1834
- b077ec2: remove limitation on affinity/anti-affinity/topology keys (#1865) (Todd Neal) #1865
- 61039be: Adding Karpenter on Fargate troubleshooting doc (#1864) (Chris Negus) #1864
- 441042b: Small typo in docs (#1871) (Chris Negus) #1871
- 5f5ff3a: Set namespace on PBD (#1869) (vadimgusev-codefresh) #1869
- 74c01dd: Support set private registry credential for CustomUserData with Bottlerocket (#1862) (KqLLL) #1862
- 2f0bca4: consider ephemeral-storage when bin-packing (#1859) (Jim DeWaard) #1859
- 237c7d3: ENV variable warning in GS guide (#1881) (Chris Negus) #1881
- 42ce207: add metrics for provisioner usage (#1872) (Todd Neal) #1872
- 47ce6a8: Bump github.com/aws/aws-sdk-go from 1.44.4 to 1.44.25 (#1875) (dependabot[bot]) #1875
- 170f8de: Bump postcss from 8.4.13 to 8.4.14 in /website (#1880) (dependabot[bot]) #1880
- 3abad49: Bump github.com/pelletier/go-toml/v2 from 2.0.0 to 2.0.1 (#1879) (dependabot[bot]) #1879
- 525ffe3: Bump github.com/imdario/mergo from 0.3.12 to 0.3.13 (#1878) (dependabot[bot]) #1878
- 6ed09d6: Adding container-runtime to kubeletConfiguration (#1855) (Suket Sharma) #1855
- 1d3be60: don't pre-bind pods to nodes (#1773) (#1856) (Todd Neal) #1856
- bf2177b: fix panic with missing AMI family (#1891) (Todd Neal) #1891
- 943e08b: Updating godoc for KubeletConfiguration (#1890) (Suket Sharma) #1890
- 509012a: Implemented provider extensions for well known labels including GPU Name, Manufacturer, Instance Family, etc (#1857) (Ellis Tarn) #1857
- 3411f79: track node capacity correctly before kubelet reports it (#1896) (Todd Neal) #1896
- 967692b: Bump github.com/prometheus/client_golang from 1.12.1 to 1.12.2 (#1877) (dependabot[bot]) #1877
- 06bd428: remove hashed key from instanceType cache (#1901) (Jim DeWaard) #1901
- 9c1b0bb: Simplify set and requirements logic (#1897) (Ellis Tarn) #1897
- 7d2414b: Reduce logging noise on provisioning loop (#1904) (Ellis Tarn) #1904
- 2f39de0: Clarified os/arch docs (#1906) (Ellis Tarn) #1906
- 1df2862: Add ADOPTERS.md for user list (#1903) (Justin Garrison) #1903
- 76d847a: Fix typo in adopters (#1909) (Nick Tran) #1909
- dac160c: Added Codefresh in Adopters (#1915) (Kostis (Codefresh)) #1915
- aa07423: Add Nirvana Money to ADOPTERS.md (#1912) (Brandon McNama) #1912
- d073307: Add node.kubernetes.io to label domain exception list (#1882) (Felix Zhe Huang) #1882
- 4b3553a: Adding AL2 UserData Merge Support (#1861) (Suket Sharma) #1861
- 8e06fb2: Add Stytch to ADOPTERS.md (#1922) (Elijah Chanakira) #1922
- f37c3d5: deflake test by just clearing the instance type cache (#1925) (Todd Neal) #1925
- 18fe287: add notes to v0.11 upgrade docs about extended resource device plugins (#1924) (Todd Neal) #1924
- 2873859: Remove UserData from docs (#1918) (Suket Sharma) #1918
- b44e3fc: update provisioner status upon node creation (#1923) (Todd Neal) #1923
- 1f8c421: switch back to just retrying instead of returning an error (#1929) (Todd Neal) #1929
- 68ab159: Adds v0.11.0 (#1930) (Suket Sharma) #1930
v0.10.1
Commits
- 5534fe0: Update set-resource-limits.md (#1790) (lmouhib) #1790
- e8f9357: Add constraint list to docs landing page (#1770) (Chris Negus) #1770
- 09823cd: allow all instance types but deprioritize ones that are not the standard set (Brandon) #1793
- 7c5385b: Remove duplicate in role helm template (LOU Xun) #1787
- a690817: Add support for Shared VPC Architecture (#1732) (Ira W. Snyder) #1732
- 693d813: Update the way we break incompatibility section to reflect what we have done in the doc rather than what was persecribed (#1801) (Ryan Maleki) #1801
- 74fa189: Add RC details to the upgrade guide (#1800) (Ryan Maleki) #1800
- 8a5580b: Add cosign to snapshots (#1797) (Ryan Maleki) #1797
- 2ff61f3: add and refactor aws cp tests for sg and subnet id selectors (#1798) (Brandon Wagner) #1798
- 78bb42f: add labelSelector to topologySpreadConstraints (#1808) (vadimgusev-codefresh) #1808
- 6d36d27: update docs regarding affinity/anti-affinity support (#1811) (Todd Neal) #1811
- 1af0042: Add PR snapshot test to auth with AWS (#1814) (Ryan Maleki) #1814
- b5b2387: Test PR snapshots use different sha for configure aws creds (#1815) (Ryan Maleki) #1815
- 3074f3c: Add snapshot PR integration back (#1816) (Ryan Maleki) #1816
- 985d777: log the number of pods that will schedule against existing capacity (#1819) (Todd Neal) #1819
- 022c5d0: 1. In order to setup different source for values of CLUSTER_NAME and CLUSTER_ENDPOINT env variables (eg. configMap), we need to make them optional, so we can redefine them in values file. (#1820) (psidza) #1820
- 3dc02a4: Upgrade golangci-lint to avoid error (#1821) (Ryan Maleki) #1821
- 59d26c0: Try adding permissions under the job (#1823) (Ryan Maleki) #1823
- 12336f5: don't pre-bind pods to nodes (#1773) (Todd Neal) #1773
- d974546: Revert "don't pre-bind pods to nodes (#1773)" (#1826) (Todd Neal) #1826
- f9b3dbb: Add temporary GAs with variations on library to troubleshoot GA auth failure (#1827) (Ryan Maleki) #1827
- 7280acc: Adds AWSNodeTemplate CRD for AWS specific config (#1822) (Suket Sharma) #1822
- a55b5dd: remove temporary test GAs (#1832) (Ryan Maleki) #1832
- 3384fba: fix the log message and display pod counts for existing/new capacity (#1830) (Todd Neal) #1830
- e30d666: Adding AWS provisioner example (#1817) (Chris Negus) #1817
- 2fea6b1: Fixed up examples (#1839) (Ellis Tarn) #1839
- 7ab664d: add the option to have dnsConfig and dnsPolicy set on the pod (#1835) (Marcelo Bartsch) #1835
- validate pod pvc before including in batch (#1831) #1831 (Jim DeWaard)
- 10fc37b: Decoupled API structs from efficient scheduling representation and deprecated constraints object (#1838) (Ellis Tarn) #1838
- da651d2: Releasing v0.10.1 (#1843) (Suket Sharma) #1843
- b4107cf: Update permissions in release.yaml (#1844) (Suket Sharma) #1844
- 945d39e: Update release.yaml - remove permissions for now. (#1845) (Suket Sharma) #1845
v0.10.0
Features
- Add
startupTaints
to the Provisioner Spec, read about startupTaints here (#1727) - Add awareness of Inflight nodes to Karpenter's provisioning logic (#1727)
Bug Fixes
- Karpenter no longer panics if the Launch Template cache can't be hydrated at startup (#1750)
- Filter out
g2
instance types since they don't work with the NVIDIA device plugin. (#1776) - Fix a bug where instances launched by Karpenter were not tagged with the Provisioner's name (#1767)
Upgrade Guide:
https://karpenter.sh/v0.10.0/upgrade-guide/#upgrading-to-v0100
Commits
- bdc7348: Bump postcss from 8.4.12 to 8.4.13 in /website (#1742) (dependabot[bot]) #1742
- 87deee8: Bump github.com/aws/aws-sdk-go from 1.43.30 to 1.44.4 (#1739) (dependabot[bot]) #1739
- e116036: Bump autoprefixer from 10.4.4 to 10.4.7 in /website (#1749) (dependabot[bot]) #1749
- fd336f2: don't panic on launch template hydration error (#1750) (Brandon Wagner) #1750
- c471309: support awareness of in-flight nodes & startup taints (#1727) (Todd Neal) #1727
- 801a9ce: remove toolchain install, this is similar to nightlies and it does not need toolchain and Go runtime (#1752) (Ryan Maleki) #1752
- 464ab71: Add the aws-credentials tool (#1754) (Ryan Maleki) #1754
- e5ae1f3: Add one-line description to each docs page (#1751) (Chris Negus) #1751
- 42f586b: Bump github.com/pelletier/go-toml/v2 from 2.0.0-beta.7 to 2.0.0 (#1740) (dependabot[bot]) #1740
- e95ea24: improve log message upon failure to find an instance type (#1761) (Todd Neal) #1761
- bb980be: correct faq on provisioner ordering (#1765) (Brandon Wagner) #1765
- d44e8e9: register the provisioner used on the context (#1767) (Todd Neal) #1767
- 157b4f2: Run when a PR is approved (#1771) (Ryan Maleki) #1771
- 51883a1: Release PR snapshot upon approval message with
/release
(#1772) (Ryan Maleki) #1772 - fc5e19a: filter out the G2 instance types (#1776) (Todd Neal) #1776
- 97208f4: add docs covering upgrade to v0.10.0 (#1781) (Todd Neal) #1781
- 3c8150e: log an error if no provisioners exist (#1782) (Todd Neal) #1782
- 00661aa: deprioritize a1 (graviton 1) instance types (#1784) (Brandon Wagner) #1784
- ec2b5c0: release v0.10.0 (Brandon) #1785
v0.9.1
Bug Fixes
- env var example in chart values (#1714) #1714 (Taras Bondarchuk)
Commits
- 8b660ce: Fix typo in FAQ.md (#1694) (R) #1694
- 1da2a93: Resolved cross-provisioner scheduling bugs by collapsing selection into a unified scheduler (#1673) (Ellis Tarn) #1673
- 7b74e70: pdb api version switching (#1696) (Brandon Wagner) #1696
- 48ef68f: Add nightlies, and stable releases to the snapshots repo (#1689) (Ryan Maleki) #1689
- 4db0b27: fix label name issue (#1699) (Ryan Maleki) #1699
- 449449a: Fix shebang arguments and typo (#1701) (Ryan Maleki) #1701
- 16e9d64: Add coveralls and go card badges, to promote good practices and higher quality marks (#1700) (Ryan Maleki) #1700
- cbe36b9: Simplifies expectation sprawl in test code (#1702) (Ellis Tarn) #1702
- cbd55d4: Corrected docs for do-not-evict pods (#1708) (Nick Tran) #1708
- acb02d2: Fix the wrong launch template name in the doc (#1707) (Felix Zhe Huang) #1707
- bc6c4f4: Enable StaleBoT to label and close old issues (#1705) (Ryan Maleki) #1705
- 231f47b: Correct the example provisioner (#1709) (Felix Zhe Huang) #1709
- dd34701: WIP try GitHub stale action (#1711) (Ryan Maleki) #1711
- a10df6d: Return to normal schedule (#1713) (Ryan Maleki) #1713
- 4e6c86b: Add a new doc describing userData and AMI support (#1691) (Suket Sharma) #1691
- b386460: add runtime defaulting doc (#1712) (Brandon Wagner) #1712
- a362f9c: maintain cluster state (#1698) (Todd Neal) #1698
- 367e69e: Spot failover (#1715) (Brandon Wagner) #1715
- 0788507: update to go 1.18 (#1717) (Brandon Wagner) #1717
- a8eaa40: v0.9.0 release to main branch (#1721) (Todd Neal) #1721
- 398e542: rework batching (#1719) (Todd Neal) #1719
- Added extraVolumes and extraVolumeMounts (#1654) #1654 (Jan-Otto Kröpke)
- 089f4e7: synchronize access to the InsufficientCapacityPools in the fake ec2 (#1725) (Todd Neal) #1725
- f9f3fcf: add docs describing pod affinity/anti-affinity (#1733) (Todd Neal) #1733
- ee450bc: fix typo in docs (#1736) (Todd Neal) #1736
- e7a610b: consistently render requirements that we rebuild (#1731) (Todd Neal) #1731
- a7e26e6: clarify kms troubleshooting doc (#1745) (Brandon Wagner) #1745
- a9e44e9: Need to add - so that bash sanely handles the variable, after adding set -u an undefined variable error shows up. (#1746) (Ryan Maleki) #1746
- bfe984b: release v0.9.1 (Ryan Maleki) #1747
- c4191cf: release v0.9.1 (#1747) (Ryan Maleki) #1747
- 9a20770: Merge branch 'main' of github.com:aws/karpenter into rm/v0.9.1 (Ryan Maleki)
v0.9.0
Features
- Adds support for scheduling pods with affinity and anti-affinity (#1626) (Todd Neal)
- Allow using T1 and T2 type instances if no other instance types are available (#1659) (Brandon Wagner)
- Helm Chart HA Improvements
Fixes
- Rework PDB to support older versions of Kubernetes (#1696) (Brandon Wagner)
Commits
- df78dd1: Add commonly used directory and OS created files to .gitignore (#1662) (Ryan Maleki) #1662
- 260d178: Fixed Testing Guide to show up in website (#1667) (Nick Tran) #1667
- cf90352: log the query that failed (#1665) (Todd Neal) #1665
- 4cc9681: Add snapshot releases (#1663) (Ryan Maleki) #1663
- befc00c: Add affinity and anti-affinity support (#1626) (Todd Neal) #1626
- 6d5b8a4: include ephemeral storage in instance type price (#1660) (Brandon Wagner) #1660
- bf8a120: Fixes for CAS migration guide (#1672) (Justin Garrison) #1672
- 2f1b461: use t1 and t2 if no other instance types are available (#1659) (Brandon Wagner) #1659
- 93986e0: Add pdb to helm chart (#1641) (Justin Garrison) #1641
- b1e93d3: dev improvements: helm create-namespace and truncate eksctl domain on cluster name (#1678) (Brandon Wagner) #1678
- ff77ffd: Add topologySpreadConstraints to helm chart (#1656) (Alexandre) #1656
- 9656205: Added note about cleaning up Karpenter LTs (#1686) (Nick Tran) #1686
- 0caf305: Try default values on stalebot (#1685) (Ryan Maleki) #1685
- 0d94c53: use the karpenter-snapshot alias instead of z4v8y7u8 (#1688) (Ryan Maleki) #1688
- e111fb5: Version-Aware Documentation Search (#1674) (Alex Kestner) #1674
- bd660d2: pdb api version switching (#1696) (Brandon Wagner) #1697
- 68adf91: v0.9.0 release (#1722) (Todd Neal) #1722
v0.9.0-rc.1
v0.9.0-rc.0
Features
- Adds support for scheduling pods with affinity and anti-affinity (#1626) (Todd Neal)
- Allow using T1 and T2 type instances if no other instance types are available (#1659) (Brandon Wagner)
- Helm Chart HA Improvements
Commits
- df78dd1: Add commonly used directory and OS created files to .gitignore (#1662) (Ryan Maleki) #1662
- 260d178: Fixed Testing Guide to show up in website (#1667) (Nick Tran) #1667
- cf90352: log the query that failed (#1665) (Todd Neal) #1665
- 4cc9681: Add snapshot releases (#1663) (Ryan Maleki) #1663
- befc00c: Add affinity and anti-affinity support (#1626) (Todd Neal) #1626
- 6d5b8a4: include ephemeral storage in instance type price (#1660) (Brandon Wagner) #1660
- bf8a120: Fixes for CAS migration guide (#1672) (Justin Garrison) #1672
- 2f1b461: use t1 and t2 if no other instance types are available (#1659) (Brandon Wagner) #1659
- 93986e0: Add pdb to helm chart (#1641) (Justin Garrison) #1641
- b1e93d3: dev improvements: helm create-namespace and truncate eksctl domain on cluster name (#1678) (Brandon Wagner) #1678
- ff77ffd: Add topologySpreadConstraints to helm chart (#1656) (Alexandre) #1656
- 9656205: Added note about cleaning up Karpenter LTs (#1686) (Nick Tran) #1686
- 0caf305: Try default values on stalebot (#1685) (Ryan Maleki) #1685
- 0d94c53: use the karpenter-snapshot alias instead of z4v8y7u8 (#1688) (Ryan Maleki) #1688
- e111fb5: Version-Aware Documentation Search (#1674) (Alex Kestner) #1674
- fe3c3c2: v0.9.0-rc.0 (#1692) (Nick Tran) #1692
v0.8.2
Bug Fixes
- Fix missing requests when only resource limits are supplied and support Init container resource requests #1616 (Jim DeWaard)
- Restrict IAM permissions to those related to Karpenter managed resources #1332 (Bryant Biggs)
Commits
- 953ec62: fix link in troubleshooting docs (#1629) (Brandon Wagner) #1629
- 79edd3e: fix two broken links and update troubleshooting webhooks (#1631) (Brandon Wagner) #1631
- 1a82e72: Bump autoprefixer from 10.4.2 to 10.4.4 in /website (#1612) (dependabot[bot]) #1612
- 60c029e: Bump postcss from 8.4.7 to 8.4.12 in /website (#1611) (dependabot[bot]) #1611
- 3858fae: adding SGP workaround to troubleshooting docs (#1625) (Jim DeWaard) #1625
- b3f0382: fix anchor typo (#1632) (Brandon Wagner) #1632
- f5947ab: add go-toml license (#1633) (Brandon Wagner) #1633
- 738794d: Added several more troubleshooting issues to docs (#1618) (Chris Negus) #1618
- 3f7a319: Fix missing requests when only limits are supplied (#1616) (Jim DeWaard) #1616
- f1273f6: update to v1.22.x (#1640) (Todd Neal) #1640
- 25ff8d4: fixing mistake in SGP Troubleshooting doc (#1643) (Jim DeWaard) #1643
- aac3381: for deflake tests, add random delays to each gomega expect call (#1646) (Todd Neal) #1646
- c298283: add logEncoding to helm chart's values.yaml (#1648) (Brandon Wagner) #1648
- e87a454: update go-toml to beta7 (#1647) (Brandon Wagner) #1647
- 7ffe65f: add stale issue closer in dry run mode (#1650) (Ryan Maleki) #1650
- 9df69ba: Update stale.yml (#1651) (Ryan Maleki) #1651
- 3dda6b5: Add content for CAS migration (#1642) (Justin Garrison) #1642
- db82703: Design Doc on AWS Provider LaunchTemplate evolution (#1270) (Suket Sharma) #1270
- c01e5b6: update to ko release that works with go 1.18 (#1655) (Todd Neal) #1655
- ccba324: Added Guide for plans for Testing in Karpenter (#1617) (Nick Tran) #1617
- c4b2e7b: upgrade helm-docs (#1658) (Brandon Wagner) #1658
- c115db3: manually install golicense from the last release (#1657) (Todd Neal) #1657
- 7c0527e: release v0.8.2 (#1661) (Brandon Wagner) #1661