K8S中若要掛載其他命名空間中的 Secret操作方法
在Kubernetes(k8s)里,若要掛載其他命名空間中的Secret,你可以通過(guò)創(chuàng)建一個(gè) Secret 的 ServiceAccount 和 RoleBinding 來(lái)實(shí)現(xiàn)對(duì)其他命名空間 Secret 的訪問(wèn),接著在 Pod 中掛載這個(gè) Secret。
下面是詳細(xì)的步驟和示例代碼:
步驟
- 創(chuàng)建
ServiceAccount:在要掛載Secret的命名空間里創(chuàng)建一個(gè)ServiceAccount。 - 創(chuàng)建
Role與RoleBinding:在包含Secret的命名空間創(chuàng)建一個(gè)Role以及RoleBinding,以此賦予ServiceAccount訪問(wèn)Secret的權(quán)限。 - 在
Pod中使用ServiceAccount并掛載Secret:在Pod定義里運(yùn)用ServiceAccount,并且掛載Secret。
示例代碼
下面是一系列的 YAML 文件,用來(lái)實(shí)現(xiàn)上述步驟。
1. 創(chuàng)建 ServiceAccount
在要掛載 Secret 的命名空間(假設(shè)為 target-namespace)創(chuàng)建 ServiceAccount:
apiVersion: v1 kind: ServiceAccount metadata: name: secret-reader namespace: target-namespace
2. 創(chuàng)建 Role 和 RoleBinding
在包含 Secret 的命名空間(假設(shè)為 source-namespace)創(chuàng)建 Role 和 RoleBinding:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: secret-reader-role namespace: source-namespace rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: secret-reader-rolebinding namespace: source-namespace subjects: - kind: ServiceAccount name: secret-reader namespace: target-namespace roleRef: kind: Role name: secret-reader-role apiGroup: rbac.authorization.k8s.io
3. 在 Pod 中使用 ServiceAccount 并掛載 Secret
在 target-namespace 里創(chuàng)建一個(gè) Pod,使用 ServiceAccount 并掛載 Secret:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
namespace: target-namespace
spec:
serviceAccountName: secret-reader
containers:
- name: my-container
image: nginx
volumeMounts:
- name: secret-volume
mountPath: "/etc/secret"
readOnly: true
volumes:
- name: secret-volume
secret:
secretName: my-secret
namespace: source-namespace解釋
ServiceAccount:在target-namespace創(chuàng)建的secret-readerServiceAccount用于給Pod授予訪問(wèn)權(quán)限。Role和RoleBinding:在source-namespace創(chuàng)建的Role和RoleBinding賦予secret-readerServiceAccount訪問(wèn)Secret的權(quán)限。Pod:在target-namespace創(chuàng)建的Pod使用secret-readerServiceAccount,并且掛載source-namespace中的my-secretSecret。
操作步驟
- 把上述 YAML 文件保存為不同的文件,例如
serviceaccount.yaml、role.yaml和pod.yaml。 - 依次執(zhí)行以下命令:
kubectl apply -f serviceaccount.yaml kubectl apply -f role.yaml kubectl apply -f pod.yaml
這樣,Pod 就能成功掛載其他命名空間中的 Secret 了。
到此這篇關(guān)于K8S中若要掛載其他命名空間中的 Secret的文章就介紹到這了,更多相關(guān)K8S命名空間 Secret內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
kubernetes部署dashboard及應(yīng)用小結(jié)
Dashboard?是基于網(wǎng)頁(yè)的?Kubernetes?用戶界面,可以對(duì)?Deployment?實(shí)現(xiàn)彈性伸縮、發(fā)起滾動(dòng)升級(jí)、重啟?Pod?或者使用向?qū)?chuàng)建新的應(yīng)用,這篇文章主要介紹了kubernetes部署dashboard,需要的朋友可以參考下2024-06-06
K8S加入新的node節(jié)點(diǎn)實(shí)現(xiàn)方式
文章主要介紹了基于kubeadm安裝的k8s集群加入新的節(jié)點(diǎn)的過(guò)程,包括初始化節(jié)點(diǎn)、安裝Docker和相關(guān)組件、配置鏡像下載加速器、添加軟件源、安裝組件、上傳和解壓鏡像、加入新的節(jié)點(diǎn)并查看節(jié)點(diǎn)狀態(tài)等步驟2026-04-04
節(jié)點(diǎn)NotReady后容器驅(qū)逐時(shí)間調(diào)整方式
文章介紹了Kubernetes早期版本中用于節(jié)點(diǎn)監(jiān)控和Pod驅(qū)逐的參數(shù),以及在k8s1.20版本后這些參數(shù)的廢棄情況,通過(guò)測(cè)試,驗(yàn)證了新的TaintBasedEvictions機(jī)制的有效性,此外,還介紹了與Pod驅(qū)逐效率相關(guān)的kube-controller-manager參數(shù),包括大規(guī)模集群的處理邏輯2026-01-01
k8s容器狀態(tài)Terminating無(wú)法刪除的問(wèn)題及解決
這篇文章主要介紹了k8s容器狀態(tài)Terminating無(wú)法刪除的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-07-07
k8s?Service?實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡
這篇文章主要為大家介紹了k8s?Service?實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡的工作原理及使用方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Kubernetes中根據(jù)Pod IP查找Pod及關(guān)聯(lián)服務(wù)的實(shí)現(xiàn)方式
文章介紹Kubernetes中通過(guò)Endpoints、Service選擇器、網(wǎng)絡(luò)策略及節(jié)點(diǎn)IPVS/iptables等方法快速定位Pod與關(guān)聯(lián)Service的技巧,推薦優(yōu)先使用Endpoints并結(jié)合標(biāo)簽匹配,適用于調(diào)試和運(yùn)維場(chǎng)景2025-10-10
Kubernetes存儲(chǔ)系統(tǒng)數(shù)據(jù)持久化管理詳解
這篇文章主要為大家介紹了Kubernetes存儲(chǔ)系統(tǒng)數(shù)據(jù)持久化管理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Kubernetes從私有鏡像倉(cāng)庫(kù)拉取容器鏡像時(shí)的身份驗(yàn)證方式
Kubernetes從私有鏡像倉(cāng)庫(kù)拉取容器鏡像時(shí),需要使用私有倉(cāng)庫(kù)的憑證進(jìn)行身份驗(yàn)證,這些憑證可以存儲(chǔ)在`private-registry-auth`這個(gè)Secret中,然后在Pod或ServiceAccount中指定使用該Secret,這樣可以確保Pod在拉取鏡像時(shí)能夠正確進(jìn)行身份驗(yàn)證2026-01-01
k8s部署dashboard ui管理平臺(tái)全過(guò)程
Kubernetes儀表盤(pán)是一個(gè)用于管理和監(jiān)控Kubernetes集群的Web界面,它是一個(gè)容器化應(yīng)用,可以通過(guò)Kubernetes的API進(jìn)行部署和管理,儀表盤(pán)提供了一個(gè)用戶友好的界面,可以查看和管理集群中的資源,包括Pod、Deployment、Service等2026-01-01
關(guān)于Rancher部署并導(dǎo)入K8S集群的問(wèn)題
這篇文章主要介紹了關(guān)于Rancher部署并導(dǎo)入K8S集群的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12

