-
Notifications
You must be signed in to change notification settings - Fork 205
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
kubernetes.io/hostname label not working in NodeAffinity for Aerospike Kubernetes Operator #1596
Comments
This issue is currently awaiting triage. If Karpenter contributors determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/assign |
Can you use taints to achieve the same thing? The problem with us allowing hostname affinities is that we can't guarantee that the node that we launch will actually be able to schedule the pods. I'll admit -- hostname affinity with NotIn is going to be much more likely to succeed. We definitely can't allow |
Hi @jonathan-innis, thanks for responding. I agree that something similar can be achieved by using Taints. However, the rationale behind doing it using hostname along with NotIn operator is:
High level use-case: Migrate Aerospike pods from a given list of K8s nodes without touching the infra by AKO (like tainting the node) and without asking the user to do it manually (user-friendly) |
This issue has been inactive for 14 days. StaleBot will close this stale issue after 14 more days of inactivity. |
Similar issue in Karpenter: aws/karpenter-provider-aws#4671
Duplicate of aws/karpenter-provider-aws#6844
Related issue in Aerospike: aerospike/aerospike-kubernetes-operator#305
Use-case: There is a feature in Aerospike Kubernetes Operator (AKO) called k8sNodeBlockList (list of K8s node names) where a user can define a list of K8s nodes that should be ignored from scheduling for Aerospike Cluster pods. This feature of AKO helps users in K8s cluster maintenance by migrating pods to other K8s nodes. It uses
kubernetes.io/hostname
label along withNotIn
operator in the NodeAffinity to move pods away from those nodes.Issue: Karpenter has a sweeping check where it blocks the
kubernetes.io/hostname
in NodeAffinity. Ref code: https://github.com/kubernetes-sigs/karpenter/blob/main/pkg/apis/v1/labels.go#L91As a result if there are pending pods with
kubernetes.io/hostname
NodeAffinity, they remain in pending state as Karpenter doesn't scale K8s node.Questions:
kubernetes.io/hostname
label?In
operator and allowNotIn
operator forkubernetes.io/hostname
label?The text was updated successfully, but these errors were encountered: