小编pop*_*nda的帖子

如何使用 golang 客户端从 Kubernetes 中驱逐或删除 Pod

我想使用 client-go 包从 Kubernetes 节点中驱逐所有 pod。类似于kubectl drain <Node>。可能会忽略kube-system命名空间 pod。

我通过以下方式从节点获取了 pod 列表:

func evictNodePods(nodeInstance string, client *kubernetes.Clientset) {

    pods, err := client.CoreV1().Pods("").List(metav1.ListOptions{
        FieldSelector: "spec.nodeName=" + nodeInstance,
    })

    if err != nil {
        log.Fatal(err)
    }
    for _, i := range pods.Items {
        if i.Namespace == "kube-system" {
            continue
        } else {
            //evict
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不清楚如何发送 POST 请求以驱逐给定节点实例上的 pod

go kubernetes

2
推荐指数
1
解决办法
1730
查看次数

标签 统计

go ×1

kubernetes ×1