gpt4 book ai didi

go - K8S 通过 go API 读取 config map

转载 作者:行者123 更新时间:2023-12-04 11:43:22 25 4
gpt4 key购买 nike

我有一个配置映射,我需要通过 api 从 K8S 读取它

我创建了一个集群角色

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: zrole
rules:
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "list"]

和集群角色绑定(bind)

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: z-role-binding
subjects:
- kind: Group
name: system:serviceaccounts
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: zrole

配置图

apiVersion: v1
kind: ConfigMap
metadata:
name: z-config
namespace: fdrs
data:
avr: client1
fuss: xurbz

code像这样使用

clientSet.CoreV1().ConfigMaps(uNamespcae)

当我在本地运行代码(并向 GO api 提供 kubeconfig)时,我能够获取配置映射数据,但是,当我在集群内运行代码时出现错误:invalid token,知道我在这里遗漏了什么吗?

最佳答案

检查 automountServiceAccountToken在 pods 规范中。默认情况下,它设置为 true,但您可能已将其禁用。

使用官方 GO 客户端。它默认读取正确的配置和 token 。 https://github.com/kubernetes/client-go/blob/master/examples/in-cluster-client-configuration/main.go

如果你不会使用它,那么使用正确的配置: https://kubernetes.io/docs/tasks/administer-cluster/access-cluster-api/#directly-accessing-the-rest-api-1

查看pod中的token:/var/run/secrets/kubernetes.io/serviceaccount/token并使用kubernetes服务。

关于go - K8S 通过 go API 读取 config map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59234194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com