使用go-client获取Kubernetes中Pod的状态可以通过以下步骤实现:
import (
"context"
"fmt"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
)
config, err := clientcmd.BuildConfigFromFlags("", "/path/to/kubeconfig")
if err != nil {
panic(err.Error())
}
clientset, err := kubernetes.NewForConfig(config)
if err != nil {
panic(err.Error())
}
其中,/path/to/kubeconfig
是你的Kubernetes配置文件的路径。
podName := "your-pod-name"
namespace := "your-namespace"
pod, err := clientset.CoreV1().Pods(namespace).Get(context.TODO(), podName, metav1.GetOptions{})
if err != nil {
panic(err.Error())
}
fmt.Printf("Pod Status: %s\n", pod.Status.Phase)
其中,your-pod-name
是目标Pod的名称,your-namespace
是Pod所在的命名空间。
go run main.go
执行以上命令后,将会输出目标Pod的状态。
这里是一些相关概念和推荐的腾讯云产品链接:
领取专属 10元无门槛券
手把手带您无忧上云