Comments (5)
Just to clarify what Karpenter's pre-spin does, we will launch a node and wait for it to become ready before beginning to drain the disrupted node. However, when Karpenter drains a node, it will not launch a new pod on the new node and wait for it to become ready before evicting the previous pod. The pre-spin exists to make this down-time as short as possible, but there will still be downtime. Karpenter does respect PDBs which should be configured to ensure high availability. We might be on the same page already, but I wanted to clarify since you mentioned you can see this from watching your pods where I would expect temporary downtime.
If the replacement node isn't initialized before we begin terminating the replacement, could you share your logs and Karpenter version?
from karpenter-provider-aws.
We didn't have PDBs implemented on our pods. I've added it now, but we did have HPAs w/ min: 1. Would lack of pdb explain our issue?
from karpenter-provider-aws.
And yes, the behavior we were seeing was that a new pod would not be scheduled until the old pod had completely terminated.
from karpenter-provider-aws.
Yep, that's expected behavior. Karpenter doesn't actually create any new pods when it terminates a node, it evicts all pods running on the node using the Eviction API. Once those pods are evicted, whatever is responsible for managing their lifetime may create new pods in response (e.g. the replicaset controller). The eviction API does respect PDBs though, so creating a PDB with minAvailable: 1
may meet your requirements.
from karpenter-provider-aws.
This issue has been inactive for 14 days. StaleBot will close this stale issue after 14 more days of inactivity.
from karpenter-provider-aws.
Related Issues (20)
- Karpenter Fails to Fall Back to On-Demand in Local Zone with InvalidFleetConfiguration Error HOT 2
- Consider SaaS node-based pricing in Karpenter scheduler for cost optimization HOT 1
- custom label that does not use a restricted domain HOT 2
- Change to image tagging stratgey HOT 2
- Migrating pods from One NodePool to Another HOT 1
- `make setup` has been deleted but still exists in the document
- GPU workload pod failed to schedule due to low-priority gpu placeholder daemonset HOT 2
- Allocatable memory less than actual memory during scheduling (trn1.32x) HOT 2
- Upgrade process for Karpenter HOT 1
- Support pod PID limits through NodePool spec.template.spec.kubelet
- EC2 capacity blocks for ML in Karpenter Nodepools
- Pods were CrashLoopBackOff in provisioned node by karpenter(rare occurrences)
- Get used AMI-Images by metrics
- EC2 Instances configuration messed up when spawned by Karpenter, they fail to register to the cluster
- Metric karpenter_interruption_received_messages(message_type="SpotInterruptionKind") is not accurate
- karpenter unable to spin up nodes for statefulset
- Manage CRDs with Kustomize
- Karpenter frequently pulls up nodes and pods cannot be scheduled HOT 1
- no service port 8443 found for service "karpenter" after migrating from cluster autoscaler HOT 1
- Option to disable setting default blockDeviceMappings HOT 1
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.