快轉到主要內容
  1. DevOps 首頁/

k8s: 將 ConfigMap 或 Secret 輸出至 .env 格式

·1 分鐘· ·
Blog Zh-Tw Devops Kubernetes
Liu Zhe You
作者
Liu Zhe You
涉略全端、DevOps,目前專注在 Backend
目錄

Kubernetes Cheat Sheet:
提取 ConfigMapSecret 到 .env 文件
#

ConfigMap 輸出
#

kubectl get configmap my-map --output json | jq '.data' | jq -r 'to_entries | map(.key + "=" + (.value)) | .[]' >> .env

說明:

kubectl get configmap my-map --output json |
    # 取出 data 部分。
    jq '.data' |
    # 將每個 "key": "value" 對替換為 "key=value"
    jq -r 'to_entries | map(.key + "=" + (.value)) | .[]' >> .env

Secret 輸出
#

kubectl get secret my-secret --output json | jq '.data' | jq 'map_values(@base64d)' | jq -r 'to_entries | map(.key + "=" + (.value)) | .[]' >> .env

說明:

kubectl get secret my-secret --output json |
    # 取出 data 部分。
    jq '.data' |
    # base64 decode 每個鍵的值。
    jq 'map_values(@base64d)' |
    # 將每個 "key": "value" 對替換為 "key=value"
    jq -r 'to_entries | map(.key + "=" + (.value)) | .[]' >> .env

helm 輸出
#

# 使用 `awk`:我們從包含 `configmap` 的 row 開始輸出,直到第一個空行。
awk '{if ($0 ~ /^configmap:$/) {triggered=1;}if (triggered) {print; if ($0 ~ /^$/) { exit;}}}' "./project/values.yaml" |
    # 只保留包含我們 config
    grep '^  ' |
    # 將 key: value 轉換為 key=value
    sed 's/  //;s/: /=/' >> .env

參考
#

相關文章

成大資工大一上紀錄
·7 分鐘
Blog Zh-Tw
大一上到底做了什麼
Test Article
New-Article Backend Zh-Tw
其他測試文章"
New-Article Zh-Tw
Backend
Backend 相關文章
Internship
實習相關文章
Note
筆記相關文章