[英]k8s - how to project service account token into pod
我正在嘗試將serviceAccount標記投影到我的pod中,如本k8s文檔中所述 - https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume - 投影 。
我使用下面的命令創建一個服務帳戶
kubectl create sa acct
然后我創建了pod
kind: Pod
apiVersion: v1
metadata:
name: nginx
spec:
containers:
- image: nginx
name: nginx
volumeMounts:
- mountPath: /var/run/secrets/tokens
name: vault-token
serviceAccountName: acct
volumes:
- name: vault-token
projected:
sources:
- serviceAccountToken:
path: vault-token
expirationSeconds: 7200
它因以下問題而失敗 - MountVolume.SetUp failed for volume "vault-token" : failed to fetch token: the server could not find the requested resource
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 5m15s default-scheduler Successfully assigned default/nginx to minikube
Warning FailedMount 65s (x10 over 5m15s) kubelet, minikube MountVolume.SetUp failed for volume "vault-token" : failed to fetch token: the server could not find the requested resource
我的minikube版本:v0.33.1
kubectl版本:1.13
題:
您應該使用部署,因為當您使用部署時,令牌會自動掛載到窗格中。
我在kubeadm上嘗試了這個,並且能夠成功。 @Aman Juneja是對的,你必須按照文檔中的描述添加API標志。
您可以通過創建serviceaccount然后將此標志添加到kubeapi來實現:
sudo vim /etc/kubernetes/manifests/kube-apiserver.yaml
- --service-account-issuer=api
- --service-account-signing-key-file=/etc/kubernetes/pki/apiserver.key
- --service-account-api-audiences=api
之后應用你的pod.yaml,它會工作。 正如您將在describe pod中看到的:
Volumes:
vault-token:
Type: Projected (a volume that contains injected data from multiple sources)
[刪除不工作的解決方案]
不幸的是在我的情況下我的minikube不想從這個標志開始,它被卡住了: waiting for pods: apiserver
很快我將嘗試再次調試。
UPDATE
事實證明你必須將參數傳遞到minikube中,其中包含來自minikubeVM內部的目錄,而不是像我之前的例子那樣傳遞到外部(所以.minikube目錄),所以它看起來像這樣:
minikube start \
--extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/apiserver.key \
--extra-config=apiserver.service-account-issuer=api \
--extra-config=apiserver.service-account-api-audiences=api
之后創建ServiceAccount並應用pod.yaml工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.