微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何与客户端交互?

如何解决我如何与客户端交互?

我的集群有一个基本接口,现在想学习如何执行功能。我从哪里开始阅读?该文档是简约的。例如,如何获取每个 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 举报,一经查实,本站将立刻删除。