日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(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

欄目分類
最近更新