iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0

Secret

應用啟動過程中可能需要一些敏感信息,比如資料庫的使用者名稱、密碼或者密鑰。將這些信息直接保存在容器中顯然不妥,Kubernetes提供的解決方案是Secret。

Secret會以加密的方式存儲數據,避免了直接在配置文件中保存敏感信息。 Secret會以Volume的形式被mount到Pod,容器可通過文件的方式使用Secret中的敏感數據;此外,容器也可以環境變量的方式使用這些數據。

Secret可通過命令行或YAML創建。比如希望Secret中包含如下信息:使用者名稱root、密碼secret。

secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: secret-demo
data:
  username: YWRtaW4=
  password: c2VjcmV0                  

部屬secret後,將secret掛載到pod上
pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: pod-demo
spec:
  containers:
  - name: pod-demo
    image: ubuntu:20.04
    args: [bash, -c, 'for ((i = 0; ; i++)); do echo "$i: $(date)"; sleep 100; done']
    volumeMounts:
    - name: secret-volume
      mountPath: /etc/secret
      readOnly: true
  volumes:
  - name: secret-volume
    secret:
      secretName: secret-demo

透過 kubectl exec 進入pod-demo,可以在/etc/secret發現password和username

root@pod-demo:/# cat /etc/secret/password
secretroot@pod-demo:/# cat /etc/secret/username
adminroot@pod-demo:/#

上一篇
Day9-Volume
下一篇
DAY11 Rancher 基本介紹
系列文
技能亂點的無名打工仔技能記錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言