client-go使用技巧
Pod使用spec.serviceAccountName对应的token
import "k8s.io/client-go/rest" cfg, err := rest.InClusterConfig() if err != nil { klog.Fatalf("Error building kubeconfig: %s", err.Error()) }
list/watch指定namespace
informerFactory := informers.NewSharedInformerFactoryWithOptions(kubeClient, 0, informers.WithNamespace("default"))
list/watch指定fieldSelector(cr无法使用fieldSelector来指定spec.xxx)
informerFactory := informers.NewSharedInformerFactoryWithOptions(kubeClient, 0, informers.WithTweakListOptions( func(options *metav1.ListOptions) { options.FieldSelector = "metadata.name=test" }))
支持参数
metadata.name metadata.namespace spec.nodeName spec.restartPolicy spec.schedulerName spec.serviceAccountName status.phase status.podIP status.podIPs status.nominatedNodeName
list/watch指定labelSelector
informerFactory := informers.NewSharedInformerFactoryWithOptions(kubeClient, 0, informers.WithTweakListOptions( func(options *metav1.ListOptions) { options.LabelSelector = "app=test" }))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-03-13 SpringBoot内嵌tomcat原理