相关疑难解决方法(0)

使用 Kubernetes go-client 向 Pod 添加标签的最短方法是什么

我有一个演示 golang 程序来列出没有特定标签的 Pod。我想修改它,以便它还可以为每个 pod 添加标签。

(我使用的是 AWS 托管的 Kubernetes 服务 EKS,因此有一些特定于 EKS 的样板代码)

package main

import (
    "fmt"
    eksauth "github.com/chankh/eksutil/pkg/auth"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

func main() {
    cfg := &eksauth.ClusterConfig{ClusterName: "my_cluster_name"}

    clientset, _ := eksauth.NewAuthClient(cfg)
    api := clientset.CoreV1()

    // Get all pods from all namespaces without the "sent_alert_emailed" label.
    pods, _ := api.Pods("").List(metav1.ListOptions{LabelSelector: "!sent_alert_emailed"})

    for i, pod := range pods.Items {
        fmt.Println(fmt.Sprintf("[%2d] %s, Phase: %s, Created: %s, HostIP: %s", i, pod.GetName(), string(pod.Status.Phase), pod.GetCreationTimestamp(), string(pod.Status.HostIP)))

        // Here I want to add …
Run Code Online (Sandbox Code Playgroud)

go kubernetes kubernetes-go-client

4
推荐指数
1
解决办法
6849
查看次数

标签 统计

go ×1

kubernetes ×1

kubernetes-go-client ×1