INNER CODE UNIT · Go
fetchNode
kubernetes-sigs/aws-ebs-csi-driver · cmd/hooks/prestop.go:82
func fetchNode(clientset kubernetes.Interface, nodeName string) (*v1.Node, error) {
node, err := clientset.CoreV1().Nodes().Get(context.Background(), nodeName, metav1.GetOptions{})
if err != nil {
return nil, fmt.Errorf("fetchNode: failed to retrieve node information: %w", err)
}
return node, nil
}
// isNodeBeingDrained returns true if node resource has a known drain/eviction taint.
func isNodeBeingDrained(node *v1.Node) bool {
for _, taint := range node.Spec.Taints {
if _, isDrainTaint := drainTaints[taint.Key]; isDrainTaint {
return true
}
}
return false
}