1
0
mirror of https://github.com/rancher/rke.git synced 2025-04-29 20:13:37 +00:00
rke/k8s/pod.go

28 lines
745 B
Go
Raw Permalink Normal View History

2018-08-20 04:37:04 +00:00
package k8s
import (
"context"
v1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
2018-08-20 04:37:04 +00:00
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
)
func DeletePods(k8sClient *kubernetes.Clientset, podList *v1.PodList) error {
for _, pod := range podList.Items {
if err := k8sClient.CoreV1().Pods(pod.Namespace).Delete(context.TODO(), pod.Name, metav1.DeleteOptions{}); err != nil && !apierrors.IsNotFound(err) {
2018-08-20 04:37:04 +00:00
return err
}
}
return nil
}
func ListPodsByLabel(k8sClient *kubernetes.Clientset, label string) (*v1.PodList, error) {
pods, err := k8sClient.CoreV1().Pods("").List(context.TODO(), metav1.ListOptions{LabelSelector: label})
2018-08-20 04:37:04 +00:00
if err != nil {
return nil, err
}
return pods, nil
}