K8S中若要掛載其他命名空間中的 Secret操作方法
在Kubernetes(k8s)里,若要掛載其他命名空間中的Secret,你可以通過創(chuàng)建一個(gè) Secret
的 ServiceAccount
和 RoleBinding
來實(shí)現(xiàn)對(duì)其他命名空間 Secret
的訪問,接著在 Pod
中掛載這個(gè) Secret
。
下面是詳細(xì)的步驟和示例代碼:
步驟
- 創(chuàng)建
ServiceAccount
:在要掛載Secret
的命名空間里創(chuàng)建一個(gè)ServiceAccount
。 - 創(chuàng)建
Role
與RoleBinding
:在包含Secret
的命名空間創(chuàng)建一個(gè)Role
以及RoleBinding
,以此賦予ServiceAccount
訪問Secret
的權(quán)限。 - 在
Pod
中使用ServiceAccount
并掛載Secret
:在Pod
定義里運(yùn)用ServiceAccount
,并且掛載Secret
。
示例代碼
下面是一系列的 YAML 文件,用來實(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-reader
ServiceAccount
用于給Pod
授予訪問權(quán)限。Role
和RoleBinding
:在source-namespace
創(chuàng)建的Role
和RoleBinding
賦予secret-reader
ServiceAccount
訪問Secret
的權(quán)限。Pod
:在target-namespace
創(chuàng)建的Pod
使用secret-reader
ServiceAccount
,并且掛載source-namespace
中的my-secret
Secret
。
操作步驟
- 把上述 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查找鏡像中jar包的方法(docker查看鏡像中的jar)
這篇文章主要給大家介紹了關(guān)于阿里云kubernetes查找鏡像中jar包的方法,也就是在docker查看鏡像中的jar,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Rainbond配置組件自動(dòng)構(gòu)建部署官方文檔講解
這篇文章主要為大家介紹了Rainbond配置組件自動(dòng)構(gòu)建部署官方文檔講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解
這篇文章主要為大家介紹了Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11kubernetes 使用jq命令對(duì)資源配置查看方式
這篇文章主要介紹了kubernetes 使用jq命令對(duì)資源配置查看方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11詳解k8s?NetworkPolicy?網(wǎng)絡(luò)策略是怎么樣的
這篇文章主要為大家介紹了k8s?NetworkPolicy?網(wǎng)絡(luò)策略是怎么樣的深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04在AWS-EC2中安裝Minikube集群的詳細(xì)過程
這篇文章主要介紹了在AWS-EC2中安裝Minikube集群,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06IoT邊緣集群Kubernetes?Events告警通知實(shí)現(xiàn)示例
這篇文章主要為大家介紹了IoT邊緣集群Kubernetes?Events告警通知實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02