Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
rmweir committed Jul 18, 2024
1 parent 03de5cb commit ccf4381
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions platform/integrations/karpenter.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ services: EKS (Elastic Kubernetes Service) or AKS (Azure Kubernetes Service).
Much of this article borrows and builds upon the [Getting Started with Karpenter](https://karpenter.sh/docs/getting-started/getting-started-with-karpenter/) documentation and the [Karpenter Provider Azure README.md](https://github.com/Azure/karpenter-provider-azure).

### Pre-requisites
1. A Kubernetes cluster setup in either AKS or EKS.
1. Either an [EKS Kubernetes cluster with karpenter installed](https://karpenter.sh/docs/getting-started/getting-started-with-karpenter/) or an [EKS Kubernetes cluster with karpenter installed](https://github.com/Azure/karpenter-provider-azure).
2. vCluster Platform installed on host cluster. Read [Deploy the vCluster Platform docs](https://www.vcluster.com/docs/platform/install/quick-start-guide#2-deploy-the-vcluster-platform).
* The following permissions will be required in vCluster Platform to complete the integration instructions:
* Create projects
Expand All @@ -43,15 +43,17 @@ Much of this article borrows and builds upon the [Getting Started with Karpenter
</TabItem>
<TabItem value="AKS">
* Create `NodePools.karpenter.sh/v1beta1` in host cluster.
* Create `EC2NodeClass.karpenter.sh/v1beta1` in host cluster.
* Create `AKSNodeClass.karpenter.sh/v1beta1` in host cluster.
* Create `Deployments.apps/v1` in vCluster(s).
</TabItem>
</Tabs>

4. EKS specific:
4. EKS specific requirements for vCluster Platform compatibility:
1. EBS driver installed. [Get the Amazon EBS CSI driver add-on](https://docs.aws.amazon.com/eks/latest/userguide/managing-ebs-csi.html#adding-ebs-csi-eks-add-on).
2. Set the environment variables: `CLUSTER_NAME`, `ARM_AMI_ID`, `AMD_AMI_ID`, `K8S_VERSION`.
3. Delete the gp2 StorageClass with `kubectl delete storageclass gp2` and replace with gp3 by applying following yaml:
2. Delete the gp2 StorageClass with `kubectl delete storageclass gp2` and replace with gp3 by applying following yaml:

5. EKS specific requirements for integration instructions:
1. You will need to know the node role created by karpenter. It should be of the form `KarpenterNodeRole-<eks-cluster-name>`


```yaml
Expand Down Expand Up @@ -140,16 +142,16 @@ sync:
name: <name-of-your-choosing>
spec:
amiFamily: AL2 # Amazon Linux 2
role: "KarpenterNodeRole-${CLUSTER_NAME}" # replace with your cluster name
role: "<karpenter-node-role>" # replace with your cluster name
subnetSelectorTerms:
- tags:
karpenter.sh/discovery: "${CLUSTER_NAME}" # replace with your cluster name
karpenter.sh/discovery: "<cluster-name>"
securityGroupSelectorTerms:
- tags:
karpenter.sh/discovery: "${CLUSTER_NAME}" # replace with your cluster name
karpenter.sh/discovery: "<cluster-name>"
amiSelectorTerms:
- id: "${ARM_AMI_ID}"
- id: "${AMD_AMI_ID}"
- id: "<arm-ami-id>"
- id: "<amd-ami-id>"
EOF

```
Expand Down

0 comments on commit ccf4381

Please sign in to comment.