我是golang
的新手,我尝试使用client-go
列出我的minikube
群集中的节点。我遇到了以下问题:
nodeList.Items未定义(类型 * 无效类型没有字段或方法Items)compilerMissingFieldOrMethod
下面是我的代码片段:
package main
import (
"context"
"fmt"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
)
func main() {
rules := clientcmd.NewDefaultClientConfigLoadingRules()
kubeconfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(rules, &clientcmd.ConfigOverrides{})
config, err := kubeconfig.ClientConfig()
if err != nil {
panic(err)
}
clientset := kubernetes.NewForConfigOrDie(config)
nodeList, err := clientset.CoreV1().Nodes().List(context.Background(), metav1.ListOptions{})
if err != nil {
panic(err)
}
for _, node := range nodeList.Items {
fmt.Printf("%s\n", node.Name)
}
}
谁能帮帮我这里出了什么问题?
谢谢你,谢谢你
1条答案
按热度按时间jmo0nnb31#
看起来客户机集不是从kubeconfig创建的。我建议您按以下方式创建客户机集。我在这里使用了集群外配置来创建客户机集。您也可以使用InclusterConfig来创建它。