云原生自動化應(yīng)用于docker倉庫私有憑據(jù)secret創(chuàng)建
Secret
Secret 是一種包含少量敏感信息例如密碼、令牌或密鑰的對象。 這樣的信息可能會被放在 Pod 規(guī)約中或者鏡像中。 使用 Secret 意味著你不需要在應(yīng)用程序代碼中包含機密數(shù)據(jù)。(這段話來自官網(wǎng))
使用過程與ConfigMap類似
與ConfigMap不同的是:
ConfigMap用于明文,Secret用于加密文件,如:密碼
ConfigMap是沒有類型的,但是Secret有類型(type)
常用的Secret類型:
Secret的創(chuàng)建
還是使用比較常用的兩種方式:kubectl和配置文件方式來創(chuàng)建
先創(chuàng)建一個實驗環(huán)境:包含一個文件夾和兩個文件
[root@k8s-master01 ~]# cd /secret/ [root@k8s-master01 secret]# echo -n 'yyang' > user.txt [root@k8s-master01 secret]# echo -n '1qaz2wsx' > passwd.txt [root@k8s-master01 secret]# ls passwd.txt user.txt
利用上面的環(huán)境創(chuàng)建以一個Secret
[root@k8s-master01 secret]# kubectl create secret generic db-user-pass \ > --from-file=user.txt \ > --from-file=passwd.txt secret/db-user-pass created
查看這個secret的內(nèi)容:類型為Opaque;內(nèi)容中data下的內(nèi)容已經(jīng)用密文表示
[root@k8s-master01 secret]# kubectl get secrets NAME TYPE DATA AGE db-user-pass Opaque 2 68s default-token-7h7vk kubernetes.io/service-account-token 3 5h51m [root@k8s-master01 secret]# kubectl get secrets db-user-pass -o yaml apiVersion: v1 data: passwd.txt: MXFhejJ3c3g= user.txt: eXlhbmc= kind: Secret metadata: creationTimestamp: "2022-03-02T07:36:41Z" name: db-user-pass namespace: default resourceVersion: "40252" uid: a46ab9ed-c67c-4195-a5d6-f38dfc3d2016 type: Opaque
這個值是可以解密出來的:郵件前邊的數(shù)據(jù)即為之前的加密數(shù)據(jù)
[root@k8s-master01 secret]# echo "MXFhejJ3c3g=" | base64 -d 1qaz2wsx您在 /var/spool/mail/root 中有新郵件
kubectl方式創(chuàng)建效果類似,就只給出官方的例子了(注意用單引號)
kubectl create secret generic db-user-pass \ --from-literal=username=devuser \ --from-literal=password='S!B\*d$zDsb='
還有一種是配置文件方式,這種方式是先把賬號密碼之類的數(shù)據(jù)轉(zhuǎn)換為加密數(shù)據(jù),然后創(chuàng)建一個yaml文件,隨后執(zhí)行yaml文件;這種方法比較麻煩就不說了,可以看一下官方的例子:
使用配置文件創(chuàng)建Secret
應(yīng)用于docker私有倉庫的secret
pull私有倉庫的鏡像時需要驗證的情況,可以為docker私有倉庫創(chuàng)建相應(yīng)的secret。格式如下:
我就不寫具體的創(chuàng)建了
kubectl create secret docker-registry secret-tiger-docker \ --docker-username=user \ --docker-password=pass113 \ --docker-email=tiger@acme.com \ --docker-server=string
以上幾項內(nèi)容分別的倉庫的用戶名、密碼、郵箱和倉庫地址
當(dāng)你創(chuàng)建完這個secret后使用的時候可以放在spec下,與containers同級
spec: imagePullSecrets: - name: secret-tiger-docker containers: - image: 私有倉庫地址 name: nginx
這樣下載私有倉庫鏡像時就不需要密碼了。
注意的點:注意命名空間隔離問題
還有一個常用的類型就是tls,創(chuàng)建方式類似,使用也類似。就不寫了,我也沒有合適的環(huán)境。
其他
其他方面Secret與ConfigMap相近,請看這里
ConfigMap
以上就是云原生自動化私密憑據(jù)Secret創(chuàng)建的詳細(xì)內(nèi)容,更多關(guān)于私密憑據(jù)Secret的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Docker 網(wǎng)絡(luò)模式(四種)詳細(xì)介紹
這篇文章主要介紹了Docker 網(wǎng)絡(luò)模式詳細(xì)介紹的相關(guān)資料,這里提供了四種網(wǎng)絡(luò)模式的介紹,Docker 作為輕量級容器技術(shù),很多比較不錯的功能,網(wǎng)絡(luò)不是多好,這里就整理下,需要的朋友可以參考下2016-11-11Docker安裝部署Net Core實現(xiàn)過程解析
這篇文章主要介紹了Docker安裝部署Net Core實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12云原生教程之使用Docker部署webssh工具sshwifty
Sshwifty是一個開源的WebSSH?&?WebTelnet客戶端,下面這篇文章主要給大家介紹了關(guān)于云原生教程之使用Docker部署webssh工具sshwifty的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03docker-compose啟動springboot項目連接mysql問題
這篇文章主要介紹了docker-compose啟動springboot項目連接mysql問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03