使用 kubectl 管理 Secret
準(zhǔn)備開始
你必須擁有一個(gè) Kubernetes 的集群,同時(shí)你必須配置 kubectl 命令行工具與你的集群通信
創(chuàng)建 Secret
Secret 對(duì)象用來(lái)存儲(chǔ)敏感數(shù)據(jù),如 Pod 用于訪問(wèn)服務(wù)的憑據(jù)。例如,為訪問(wèn)數(shù)據(jù)庫(kù),你可能需要一個(gè) Secret 來(lái)存儲(chǔ)所需的用戶名及密碼
你可以通過(guò)在命令中傳遞原始數(shù)據(jù),或?qū){據(jù)存儲(chǔ)文件中,然后再在命令行中創(chuàng)建 Secret。以下命令 將創(chuàng)建一個(gè)存儲(chǔ)用戶名 admin 和密碼 TtAwpaj4Iy= 的 Secret
執(zhí)行以下命令
kubectl create secret generic db-user-pass \
--from-literal=username=admin \
--from-literal=password='TtAwpaj4Iy'
說(shuō)明:你必須使用單引號(hào) ‘’ 轉(zhuǎn)義字符串中的特殊字符,如 $、\、*、=和! 。否則,你的 shell 將會(huì)解析這些字符
1、將憑據(jù)保存到文件
echo -n 'admin' > ./username.txt
echo -n 'TtAwpaj4Iy=' > ./password.txt
-n 標(biāo)志用來(lái)確保生成文件的文末沒(méi)有多余的換行符。這很重要,因?yàn)楫?dāng) kubectl 讀取文件并將內(nèi)容編碼為 base64 字符串時(shí),額外的換行符也會(huì)被編碼。 你不需要對(duì)文件中包含的字符串中的特殊字符進(jìn)行轉(zhuǎn)義
2、在 kubectl 命令中傳遞文件路徑
kubectl create secret generic db-user-pass \
--from-file=./username.txt \
--from-file=./password.txt
默認(rèn)鍵名為文件名。你也可以通過(guò) --from-file=[key=]source 設(shè)置鍵名,例如
kubectl create secret generic db-user-pass \
--from-file=username=./username.txt \
--from-file=password=./password.txt
驗(yàn)證 Secret
1、查看 Secret 是否已創(chuàng)建
kubectl get secrets
2、輸出如下內(nèi)容
NAME TYPE DATA AGE
db-user-pass Opaque 2 51s
3、查看secret詳細(xì)信息
kubectl describe secret db-user-pass
解碼 Secret
1、查看你所創(chuàng)建的 Secret 內(nèi)容
kubectl get secret db-user-pass -o jsonpath='{.data}'
2、輸出如下內(nèi)容
{ "password": "UyFCXCpkJHpEc2I9", "username": "YWRtaW4=" }
3、解碼 password 數(shù)據(jù):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-607383.html
echo 'UyFCXCpkJHpEc2I9' | base64 --decode
編輯 Secret
kubectl edit secrets <secret-name>
要想刪除一個(gè) Secret,請(qǐng)執(zhí)行以下命令:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-607383.html
kubectl delete secret db-user-pass
到了這里,關(guān)于【云原生】Kubernetes之Secret的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!