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"
}))

 

posted on   王景迁  阅读(34)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-03-13 SpringBoot内嵌tomcat原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示