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

學無先后,達者為師

網站首頁 編程語言 正文

云原生自動化應用于docker倉庫私有憑據secret創建_docker

作者:、重明 ? 更新時間: 2022-05-21 編程語言

Secret

Secret 是一種包含少量敏感信息例如密碼、令牌或密鑰的對象。 這樣的信息可能會被放在 Pod 規約中或者鏡像中。 使用 Secret 意味著你不需要在應用程序代碼中包含機密數據。(這段話來自官網)

使用過程與ConfigMap類似

與ConfigMap不同的是:

ConfigMap用于明文,Secret用于加密文件,如:密碼

ConfigMap是沒有類型的,但是Secret有類型(type)

常用的Secret類型:

在這里插入圖片描述

Secret的創建

還是使用比較常用的兩種方式:kubectl和配置文件方式來創建

先創建一個實驗環境:包含一個文件夾和兩個文件

[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

利用上面的環境創建以一個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的內容:類型為Opaque;內容中data下的內容已經用密文表示

[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

這個值是可以解密出來的:郵件前邊的數據即為之前的加密數據

[root@k8s-master01 secret]# echo "MXFhejJ3c3g=" | base64 -d
1qaz2wsx您在 /var/spool/mail/root 中有新郵件

kubectl方式創建效果類似,就只給出官方的例子了(注意用單引號)

kubectl create secret generic db-user-pass \
  --from-literal=username=devuser \
  --from-literal=password='S!B\*d$zDsb='

還有一種是配置文件方式,這種方式是先把賬號密碼之類的數據轉換為加密數據,然后創建一個yaml文件,隨后執行yaml文件;這種方法比較麻煩就不說了,可以看一下官方的例子:
使用配置文件創建Secret

應用于docker私有倉庫的secret

pull私有倉庫的鏡像時需要驗證的情況,可以為docker私有倉庫創建相應的secret。格式如下:
我就不寫具體的創建了

kubectl create secret docker-registry secret-tiger-docker \
  --docker-username=user \
  --docker-password=pass113 \
  --docker-email=tiger@acme.com \
  --docker-server=string

以上幾項內容分別的倉庫的用戶名、密碼、郵箱和倉庫地址

當你創建完這個secret后使用的時候可以放在spec下,與containers同級

    spec:
      imagePullSecrets:
        - name: secret-tiger-docker
      containers:
        - image: 私有倉庫地址
          name: nginx

這樣下載私有倉庫鏡像時就不需要密碼了。
注意的點:注意命名空間隔離問題

還有一個常用的類型就是tls,創建方式類似,使用也類似。就不寫了,我也沒有合適的環境。

其他

其他方面Secret與ConfigMap相近,請看這里
ConfigMap

原文鏈接:https://yyang.blog.csdn.net/article/details/123230018

欄目分類
最近更新