Comments (4)
This may be a complete solution https://github.com/aws/aws-node-termination-handler with no work on our side.
from karpenter-provider-aws.
I think the aws-node-termination-handler would integrate with no additional work required for Karpenter. NTH does require a quite a bit of customer setup (creating the lifecycle hooks, eventbridge rules, and SQS queue), but after the initial setup, it can respond to a lot of events very easily.
Since Karpenter is already managing node groups, I'm curious if some of that setup (at least the lifecycle hooks) could be abstracted away and then NTH could just plugin to handle them or receive them from karpenter? The plan for NTH to ease the setup burden is to integrate with ACK but it's still early and most of the resources we need are not available yet.
Knowledge of the actual event does come in handy when processing events. NTH takes slightly different actions depending on the event. For example, ASG lifecycle terminations have different post draining actions than an EC2 Status Change event since the lifecycle hook does not need to be completed. Also EC2 scheduled maintenance event reboots are handled differently in the NTH IMDS processor since the node can be labeled and automatically brought back into service after the reboot.
from karpenter-provider-aws.
Also worth investigating this guy: https://github.com/pusher/k8s-spot-termination-handler
from karpenter-provider-aws.
My current stance on this is that we should recommend that users rely on https://github.com/aws/aws-node-termination-handler for at least v0.4. We should explore building a karpenter native interruption handler, but this use case (rebalance) should be scoped into the defragmentation design.
from karpenter-provider-aws.
Related Issues (20)
- Karpenter metrics drop with prometheus scraper HOT 3
- Daemonset scheduling HOT 4
- Getting started steps do not result in a working cluster HOT 3
- On-Demand/Spot Ratio Split Behaviour HOT 2
- Karpenter support for Redhat Openshift 4.12.x HOT 15
- Add the possibility to use "do-not-disrupt" on namespace level HOT 5
- Is Karpenter Controller support running on AL2023 ARM64? HOT 6
- ERROR: Karpenter not authorized to perform: iam:PassRole HOT 3
- Pods matching multiple nodepools with the same weight HOT 2
- What is the best way to upgrade EKS versions when pinning AMIs? HOT 5
- Add karpenter_provisioners_usage_pct metric back HOT 1
- EC2NodeClass Validation Doesn't detect malformed blockDeviceMappings.ebs.volumeSize value
- Upgrade nightmare HOT 7
- Better documentation for NodePool "Exists" operator HOT 4
- Reconciler error: getting drift, calculating ami drift, getting amis, describing images, InvalidParameterValue: The NextToken is invalid HOT 6
- Allow Karpenter SQS Queue Name to be set HOT 1
- Helm chart should default LEADER_ELECT to `replicas > 1` HOT 3
- Karpenter fails to register nodes even after successful nodeclaim launch HOT 7
- Karpenter does not disrupt HOT 14
- Cleanup docs regarding settings.aws.enablePodENI
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from karpenter-provider-aws.