From e2b773c1e22bc8093ed522efcd7524b596b1b92f Mon Sep 17 00:00:00 2001 From: Bryce Soghigian <49734722+Bryce-Soghigian@users.noreply.github.com> Date: Thu, 11 Jan 2024 16:05:54 -0800 Subject: [PATCH] docs: modifying v1 of docs to point to managed experience (#71) --- README.md | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 2a0d421b9..aca7a8ce3 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,39 @@ [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/Azure/karpenter/issues) --- +## Features Overview +The AKS Karpenter Provider enables node autoprovisioning using [Karpenter](https://karpenter.sh/) on your AKS cluster. +Karpenter improves the efficiency and cost of running workloads on Kubernetes clusters by: -# AKS Karpenter Provider +* **Watching** for pods that the Kubernetes scheduler has marked as unschedulable +* **Evaluating** scheduling constraints (resource requests, node selectors, affinities, tolerations, and topology-spread constraints) requested by the pods +* **Provisioning** nodes that meet the requirements of the pods +* **Removing** the nodes when they are no longer needed +* **Consolidating** existing nodes onto cheaper nodes with higher utilization per node -The AKS Karpenter Provider enables node autoprovisioning using [Karpenter](https://karpenter.sh/) on your AKS cluster. +## Production Readiness Status +- API-Version: AKS Karpenter Provider is currently in alpha (`v1alpha2`). +- AKS-Feature State: [Node Auto Provisioning is currently in preview](https://learn.microsoft.com/en-gb/azure/aks/node-autoprovision?tabs=azure-cli) -## Status of Project: +## Installation: Managed Karpenter (AKA Node Auto Provisioning) +The Node Auto Provisioning Preview, runs Karpenter as a managed addon similar to Managed Cluster Autoscaler. + +To get started, just go through the prerequisites of [installing the Preview CLI](https://learn.microsoft.com/en-gb/azure/aks/node-autoprovision?tabs=azure-cli#install-the-aks-preview-cli-extension), and [register the NodeAutoProvisioningPreview feature flag](https://learn.microsoft.com/en-gb/azure/aks/node-autoprovision?tabs=azure-cli#register-the-nodeautoprovisioningpreview-feature-flag). + +### Enable node autoprovisioning +To enable node autoprovisioning, create a new cluster using the `az aks create` command and set --node-provisioning-mode to "Auto". You'll also need to use overlay networking and the cilium network policy for now. + +```bash +az aks create --name myFirstNap --resource-group napTest --node-provisioning-mode Auto --network-plugin azure --network-plugin-mode overlay --network-dataplane cilium +``` -The API for AKS Karpenter Provider is currently alpha (`v1alpha2`). +[View Limitations of the node autoprovisioning preview here](https://learn.microsoft.com/en-gb/azure/aks/node-autoprovision?tabs=azure-cli#limitations) + +### NAP Usage +- [Learn More about Configuring the Nodepool CRDs to be more or less flexible](https://learn.microsoft.com/en-gb/azure/aks/node-autoprovision?tabs=azure-cli#node-pools) + +## Helm Chart +a self-hosted experience similar to [aws/karpenter](https://artifacthub.io/packages/helm/karpenter/karpenter) is coming soon... ## Development @@ -59,14 +84,6 @@ A: Oftentimes, especially for pre-existing tests, running `make toolchain` will --- -Karpenter is an open-source node provisioning project built for Kubernetes. -Karpenter improves the efficiency and cost of running workloads on Kubernetes clusters by: - -* **Watching** for pods that the Kubernetes scheduler has marked as unschedulable -* **Evaluating** scheduling constraints (resource requests, nodeselectors, affinities, tolerations, and topology spread constraints) requested by the pods -* **Provisioning** nodes that meet the requirements of the pods -* **Removing** the nodes when the nodes are no longer needed - ### Source Attribution Notice: Files in this source code originated from a fork of https://github.com/aws/karpenter @@ -77,7 +94,7 @@ Many thanks to @ellistarn, @jonathan-innis, @tzneal, @bwagner5, @njtran, and man Many thanks to @Bryce-Soghigian, @rakechill, @charliedmcb, @jackfrancis, @comtalyst, @aagusuab, @matthchr, @gandhipr, @dtzar for contributing to AKS Karpenter Provider! --- - +### Community, discussion, contribution, and support This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.