我们需要使用我们的二进制文件的每个 Pod 都能够读取特定的配置映射
我们使用 Go API 来读取配置映射。
https://github.com/kubernetes/client-go
这里棘手的部分是一些 Pod 具有以下配置 automountServiceAccountToken: false
(不幸的是我们无法更改它:( )
因此我收到以下错误:
open /var/run/secrets/kubernetes.io/serviceaccount/token:no such file or directory
知道如何避免这种情况吗?
是否还有其他解决方案如何提供可在所有 Pod 和所有命名空间上使用的特定环境变量?
最佳答案
您需要手动创建 token :
apiVersion: v1
kind: Secret
metadata:
name: build-robot-secret
annotations:
kubernetes.io/service-account.name: default # I assume you use the default service account
type: kubernetes.io/service-account-token
然后将此 secret 作为文件安装到 pod 中:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mypod
image: redis
volumeMounts:
- name: foo
mountPath: "/var/run/secrets/kubernetes.io/serviceaccount"
volumes:
- name: foo
secret:
secretName: build-robot-secret
关于azure - K8S - 获取配置 map 数据问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59248379/