我们需要每个使用我们的二进制文件的pod都具有读取特定config map
我们为此使用Go API来读取配置映射。
https://github.com/kubernetes/client-go
这里有些吊舱的棘手部分是具有以下配置automountServiceAccountToken: false
(不幸的是,我们无法更改它:()
因此我收到以下错误:
open /var/run/secrets/kubernetes.io/serviceaccount/token:no such file or directory
任何想法如何避免这种情况?
还有其他解决方案如何提供特定的env变量以在所有Pod和所有命名空间上可用?
答案 0 :(得分:2)
您需要手动创建令牌:
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
然后将此秘密作为文件安装到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