Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How is karpenter is supporting Azure #509

Open
abhishek-baranwal opened this issue Oct 3, 2024 · 1 comment
Open

How is karpenter is supporting Azure #509

abhishek-baranwal opened this issue Oct 3, 2024 · 1 comment
Labels
kind/support Categorizes issue or PR as a support question.

Comments

@abhishek-baranwal
Copy link

abhishek-baranwal commented Oct 3, 2024

Is an existing page relevant?

No response

What karpenter features are relevant?

Hi team,

Just want to understand how karpenter works with azure AKS
I saw microsoft documentation which says below that there is limitation while working with AKS, we can not create virtual machine scaleset with karpenter while Karpenter is not designed to directly create Virtual Machine Scale Sets (VMSS) in Azure; instead, it focuses on automatically provisioning individual nodes within a Kubernetes cluster based on pod requirements, essentially bypassing the need to manage VMSS explicitly, allowing for more granular scaling and cost optimization by launching only the necessary nodes.

The AKS cluster must use Virtual Machine Scale Sets for the nodes.
reference: https://learn.microsoft.com/en-gb/azure/aks/create-node-pools#limitations

we also found some issue related to it while we were trying to create internal azure LB, it was showing error
Error syncing load balancer: failed to ensure load balancer: can not extract scale set name from ipConfigurationID (/subscriptions/xxxxxxx/resourceGroups/xxxxxx/providers/Microsoft.Network/networkInterfaces/aks-karpenter-nodepool-xxxx/ipConfigurations/aks-karpenter-nodepool-xxxx)

let me know if there is something wrong with our service below

apiVersion: v1
kind: Service
metadata:
  name: service-loadbalancer
  labels:
    app: service-loadbalancer
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
    service.beta.kubernetes.io/azure-load-balancer-internal-subnet: xxxxxx
spec:
  type: LoadBalancer
  publishNotReadyAddresses: true
  selector:
    app.kubernetes.io/name: service
  ports:
    - protocol: TCP
      port: 80
  sessionAffinity: None

How should the docs be improved?

Please update the doc which inform more details on this limitation and this issue in some troubleshooting doc

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment
@tallaxes tallaxes added the kind/support Categorizes issue or PR as a support question. label Oct 22, 2024
@tallaxes
Copy link
Collaborator

This Karpenter provider creates standalone VMs that are compatible with AKS cluster; AKS documentation is a but outdated in that respect. At this point there is no corresponding AKS agentpool representation for Karpenter NodePools, but it is likely to change in the future. At the same time, AKS is also developing first class support for Virtual Machine nodepools, see https://learn.microsoft.com/en-us/azure/aks/virtual-machines-node-pools.

Please create a separate issue for load balancer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/support Categorizes issue or PR as a support question.
Projects
None yet
Development

No branches or pull requests

2 participants