如何解决我如何与客户端交互?
我的集群有一个基本接口,现在想学习如何执行功能。我从哪里开始阅读?该文档是简约的。例如,如何获取每个 Pod 的名称?
这是我如何获得客户端:
package main
import (
"context"
"flag"
"fmt"
"path/filepath"
"time"
Metav1 "k8s.io/apimachinery/pkg/apis/Meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/util/homedir"
)
func main() {
var kubeconfig *string
if home := homedir.HomeDir(); home != "" {
kubeconfig = flag.String("kubeconfig",filepath.Join(home,".kube","config"),"(optional) absolute path to the kubeconfig file")
} else {
kubeconfig = flag.String("kubeconfig","","absolute path to the kubeconfig file")
}
flag.Parse()
// use the current context in kubeconfig
config,err := clientcmd.BuildConfigFromFlags("",*kubeconfig)
if err != nil {
panic(err.Error())
}
// create the clientset
clientset,err := kubernetes.NewForConfig(config)
if err != nil {
panic(err.Error())
}
for {
pods,err := clientset.CoreV1().Pods("").List(context.Todo(),Metav1.ListOptions{})
if err != nil {
panic(err.Error())
}
fmt.Printf("There are %d pods in the cluster\n",len(pods.Items))
time.Sleep(10 * time.Second)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。