Skip to content

Commit

Permalink
Update image paths for markdown docs
Browse files Browse the repository at this point in the history
  • Loading branch information
rothgar committed Jul 23, 2021
1 parent 2a077db commit c459aff
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 4 deletions.
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![GitHub License](https://img.shields.io/badge/License-Apache%202.0-ff69b4.svg)](https://github.com/awslabs/karpenter/blob/main/LICENSE)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/awslabs/karpenter/issues)

![](images/karpenter-banner.png)
![](website/static/banner.png)

Karpenter is a node lifecycle management solution. It observes incoming pods and launches the right instances for the situation. Instance selection decisions are intent based and driven by the specification of incoming pods, including resource requests and scheduling constraints.

Expand All @@ -22,8 +22,6 @@ Come discuss Karpenter in the [#provider-aws channel](https://kubernetes.slack.c

*Note: Reallocation is still in development. Check out the [FAQs](FAQs.md) and [Roadmap](ROADMAP.md) to learn more.*

<img src="images/karpenter-overview.jpg" width="50%" height="50%">

## Installation

Follow the setup recommendations of your cloud provider.
Expand Down
2 changes: 1 addition & 1 deletion designs/termination.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The termination controller is responsible for gracefully terminating instances.
The current termination workflow finds nodes with the label `karpenter.sh/lifecycle-phase: terminable` then cordons, drains, and deletes them. This naively handles a few error cases, has no user safeguards, and makes no effort to rate limit. The new workflow will improve these but continue to monitor nodes with the same labels.

The new termination process will begin with a node that receives a delete request. After Karpenter validates the request, a Karpenter mutating webhook will add the Karpenter [finalizer](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#finalizers) to the node. Then, we cordon and begin draining the node. After no pods remain, we terminate the instance in the cloud provider, then remove the Karpenter finalizer. This will result in the APIServer deleting the node object.
![](../images/termination-state-machine.png)
![](../website/static/termination-state-machine.png)
### Triggering Termination

The current termination process acts on a reconcile loop. We will change the termination controller to watch nodes and manage the Karpenter [finalizer](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#finalizers), making it responsible for all node termination and pod eviction logic.
Expand Down

0 comments on commit c459aff

Please sign in to comment.