W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
從 kubernetes v1.14 開始,?kubectl
?支持使用 Kustomize 管理對象。 Kustomize 提供了資源生成器(Generators)來創(chuàng)建 Secret 和 ConfigMap。 Kustomize 生成器應該在某個目錄的 ?kustomization.yaml
? 文件中指定。 生成 Secret 后,你可以使用 ?kubectl apply
? 在 API 服務器上創(chuàng)建該 Secret。
你必須擁有一個 Kubernetes 的集群,同時你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個節(jié)點的集群上運行本教程,且這些節(jié)點不作為控制平面主機。 如果你還沒有集群,你可以通過 Minikube 構(gòu)建一個你自己的集群,或者你可以使用下面任意一個 Kubernetes 工具構(gòu)建:
你可以在? kustomization.yaml
? 中定義 ?secreteGenerator
?,并在定義中引用其他現(xiàn)成的文件,生成 Secret。 例如:下面的 kustomization 文件 引用了 ?./username.txt
? 和 ?./password.txt
?文件:
secretGenerator:
- name: db-user-pass
files:
- username.txt
- password.txt
你也可以在 ?kustomization.yaml
? 文件中指定一些字面量定義 ?secretGenerator
?。 例如:下面的 ?kustomization.yaml
? 文件中包含了 ?username
?和 ?password
?兩個字面量:
secretGenerator:
- name: db-user-pass
literals:
- username=admin
- password=1f2d1e2e67df
你也可以使用 ?.env
? 文件在 ?kustomization.yaml
? 中定義 ?secretGenerator
?。 例如:下面的 ?kustomization.yaml
? 文件從 ?.env.secret
? 文件獲取數(shù)據(jù)。
secretGenerator:
- name: db-user-pass
envs:
- .env.secret
注意,上面兩種情況,你都不需要使用 base64 編碼。
使用 ?kubectl apply
? 命令應用包含 ?kustomization.yaml
? 文件的目錄創(chuàng)建 Secret。
kubectl apply -k .
輸出類似于:
secret/db-user-pass-96mffmfh4k created
請注意,生成 Secret 時,Secret 的名稱最終是由 ?name
?字段和數(shù)據(jù)的哈希值拼接而成。 這將保證每次修改數(shù)據(jù)時生成一個新的 Secret。
你可以檢查剛才創(chuàng)建的 Secret:
kubectl get secrets
輸出類似于:
NAME TYPE DATA AGE
db-user-pass-96mffmfh4k Opaque 2 51s
你可以看到 Secret 的描述:
kubectl describe secrets/db-user-pass-96mffmfh4k
輸出類似于:
Name: db-user-pass-96mffmfh4k
Namespace: default
Labels: <none>
Annotations: <none>
Type: Opaque
Data
====
password.txt: 12 bytes
username.txt: 5 bytes
?kubectl get
? 和 ?kubectl describe
? 命令默認不顯示 ?Secret
?的內(nèi)容。 這是為了防止 ?Secret
?被意外暴露給旁觀者或存儲在終端日志中。
刪除你創(chuàng)建的 Secret:
kubectl delete secret db-user-pass-96mffmfh4k
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: