k8s使用client-go调用遇到的问题

简单demo

package mainimport ( "context" apiv1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "log" )func main(){ kubeconfig := "config/kube.conf"//来自集群中的conf config, err := clientcmd.BuildConfigFromFlags("", kubeconfig) if err != nil { panic(err) } clientset, err := kubernetes.NewForConfig(config) if err != nil { panic(err) } deployments := clientset.AppsV1().Deployments(apiv1.NamespaceDefault) list, err := deployments.List(context.TODO(), metav1.ListOptions{}) if err != nil { panic(err) } for _, d := range list.Items { log.Printf("* %s (%d replicas ) %s \n ",d.Name,*d.Spec.Replicas,d.Namespace) }namespaceList, err := clientset.CoreV1().Namespaces().List(context.TODO(), metav1.ListOptions{}) if err != nil { log.Fatal("namespace error",err) panic(err) } for _,namespace := range namespaceList.Items {log.Println(namespace.Name,namespace.CreationTimestamp) } }

官方参考 https://github.com/kubernetes...
k8s使用client-go调用遇到的问题
文章图片

遇到的问题 1.拉取镜像失败
k8s使用client-go调用遇到的问题
文章图片

可以delete deployment然后重新apply,也可以在对应机器上手动拉下,如果使用私有镜像仓库,可能就没有这个问题
2.修改master node名称
暂时没有想到解决方法,我是重新部署整个集群之前把机器的名字改掉了
3.~/.kube/下没有config信息
【k8s使用client-go调用遇到的问题】master上面没有,别的node上有,可以查看一下

    推荐阅读