【发布时间】:2021-09-22 02:22:46
【问题描述】:
我是 Kubernetes 新手。我有一个 Kubernetes 秘密 yaml 文件:
apiVersion: v1
kind: Secret
metadata:
name: my-secret
type: Opaque
data:
API_KEY: 123409uhttt
SECRET_KEY: yu676jfjehfuehfu02
我使用 gpg 加密进行了编码:
gpg -a --symmetric --cipher-algo AES256 -o "secrets.yaml.gpg" "secrets.yaml"
并在 github 操作的工作流程中解密它,如下所示:
gpg -q --batch --yes --decrypt --passphrase=$GPG_SECRET my/location/to/secrets.yaml.gpg | kubectl apply -n $NAMESPACE -f -
当我跑步时:
kubectl get secret my-secret -n my-namespace -o yaml
我得到的 yaml 显示为 API_KEY 和 SECRET_KEY 设置的正确值,如下所示:
apiVersion: v1
data:
API_KEY: 123409uhttt
SECRET_KEY: yu676jfjehfuehfu02
kind: Secret
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","data":{"API_KEY":"123409uhttt","SECRET_KEY":"yu676jfjehfuehfu02"},"kind":"Secret","metadata":{"annotations":{},"name":"my-secret","namespace":"my-namespace"},"type":"Opaque"}
creationTimestamp: "2021-07-12T23:28:56Z"
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:data:
.: {}
f:API_KEY: {}
f:SECRET_KEY: {}
f:metadata:
f:annotations:
.: {}
f:kubectl.kubernetes.io/last-applied-configuration: {}
f:type: {}
manager: kubectl-client-side-apply
operation: Update
time: "2021-07-10T23:28:56Z"
name: my-secret
namespace: my-namespace
resourceVersion: "29813715"
uid: 89a34b6d-914eded509
type: Opaque
但是当应用程序使用 SECRET_KEY 和 API_KEY 请求时,它会以损坏的编码显示这些值。当我记录它们时,我会打印这些值:
Api_Key - ᶹ��4yÖ·Ó�ӯu�ï¿8
Secret_Key - �V�s��Û[ï¶×¿zoï½9s��{�ï¿
当我不使用 secrets.yaml 中的 Api_Key 和 Secret_Key(作为应用程序中的硬编码值)时,它会按预期工作。
我需要帮助才能在运行节点 js 应用程序的容器中访问具有正确值的秘密数据(Api_Key 和 Secret_Key)。
【问题讨论】:
标签: node.js kubernetes github-actions gnupg