網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
云原生自動(dòng)化應(yīng)用于docker倉(cāng)庫(kù)私有憑據(jù)secret創(chuàng)建_docker
作者:、重明 ? 更新時(shí)間: 2022-05-21 編程語(yǔ)言Secret
Secret 是一種包含少量敏感信息例如密碼、令牌或密鑰的對(duì)象。 這樣的信息可能會(huì)被放在 Pod 規(guī)約中或者鏡像中。 使用 Secret 意味著你不需要在應(yīng)用程序代碼中包含機(jī)密數(shù)據(jù)。(這段話來(lái)自官網(wǎng))
使用過(guò)程與ConfigMap類似
與ConfigMap不同的是:
ConfigMap用于明文,Secret用于加密文件,如:密碼
ConfigMap是沒(méi)有類型的,但是Secret有類型(type)
常用的Secret類型:
Secret的創(chuàng)建
還是使用比較常用的兩種方式:kubectl和配置文件方式來(lái)創(chuàng)建
先創(chuàng)建一個(gè)實(shí)驗(yàn)環(huán)境:包含一個(gè)文件夾和兩個(gè)文件
[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)建以一個(gè)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
查看這個(gè)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
這個(gè)值是可以解密出來(lái)的:郵件前邊的數(shù)據(jù)即為之前的加密數(shù)據(jù)
[root@k8s-master01 secret]# echo "MXFhejJ3c3g=" | base64 -d 1qaz2wsx您在 /var/spool/mail/root 中有新郵件
kubectl方式創(chuàng)建效果類似,就只給出官方的例子了(注意用單引號(hào))
kubectl create secret generic db-user-pass \ --from-literal=username=devuser \ --from-literal=password='S!B\*d$zDsb='
還有一種是配置文件方式,這種方式是先把賬號(hào)密碼之類的數(shù)據(jù)轉(zhuǎn)換為加密數(shù)據(jù),然后創(chuàng)建一個(gè)yaml文件,隨后執(zhí)行yaml文件;這種方法比較麻煩就不說(shuō)了,可以看一下官方的例子:
使用配置文件創(chuàng)建Secret
應(yīng)用于docker私有倉(cāng)庫(kù)的secret
pull私有倉(cāng)庫(kù)的鏡像時(shí)需要驗(yàn)證的情況,可以為docker私有倉(cāng)庫(kù)創(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
以上幾項(xiàng)內(nèi)容分別的倉(cāng)庫(kù)的用戶名、密碼、郵箱和倉(cāng)庫(kù)地址
當(dāng)你創(chuàng)建完這個(gè)secret后使用的時(shí)候可以放在spec下,與containers同級(jí)
spec: imagePullSecrets: - name: secret-tiger-docker containers: - image: 私有倉(cāng)庫(kù)地址 name: nginx
這樣下載私有倉(cāng)庫(kù)鏡像時(shí)就不需要密碼了。
注意的點(diǎn):注意命名空間隔離問(wèn)題
還有一個(gè)常用的類型就是tls,創(chuàng)建方式類似,使用也類似。就不寫了,我也沒(méi)有合適的環(huán)境。
其他
其他方面Secret與ConfigMap相近,請(qǐng)看這里
ConfigMap
原文鏈接:https://yyang.blog.csdn.net/article/details/123230018
相關(guān)推薦
- 2022-12-05 Go?reflect?反射原理示例詳解_Golang
- 2022-10-23 C++進(jìn)程的創(chuàng)建和進(jìn)程ID標(biāo)識(shí)詳細(xì)介紹_C 語(yǔ)言
- 2022-03-16 .Net?Core?多文件打包壓縮的實(shí)現(xiàn)代碼_實(shí)用技巧
- 2022-12-22 Python類繼承及super()函數(shù)使用說(shuō)明_python
- 2022-07-13 淺談Redis中的自動(dòng)過(guò)期機(jī)制_Redis
- 2022-03-01 格式化日期‘年月日-時(shí)分秒’方法
- 2022-03-03 text-overflow:ellipsis,當(dāng)對(duì)象內(nèi)文本溢出時(shí)顯示省略標(biāo)記(...)
- 2022-04-09 C++實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能_C 語(yǔ)言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支