gpt4 book ai didi

kubernetes - 调试 Kubernetes key 中不必要的换行符

转载 作者:行者123 更新时间:2023-12-02 11:31:19 27 4
gpt4 key购买 nike

我有一个名为 GOOGLE_MAPS_DIRECTIONS_API_KEY 的环境变量,由 Kubernetes secret YAML 填充:

apiVersion: v1
kind: Secret
metadata:
name: google-maps-directions-api-secret
type: Opaque
data:
GOOGLE_MAPS_DIRECTIONS_API_KEY: QUl...QbUpqTHNJ

secret 是通过复制粘贴运行 echo -n "AIz..."| 的结果创建的base64 在我的 API key 上。我在此代码片段中提供了 key 的开头和结尾,以表明 secret 文件中包含的 key 中没有换行符。

这是我在运行 cat google-maps-directions-api-key-secret.yaml | 时看到的内容十六进制转储-C:

00000000  61 70 69 56 65 72 73 69  6f 6e 3a 20 76 31 0a 6b  |apiVersion: v1.k|
00000010 69 6e 64 3a 20 53 65 63 72 65 74 0a 6d 65 74 61 |ind: Secret.meta|
00000020 64 61 74 61 3a 0a 20 20 6e 61 6d 65 3a 20 67 6f |data:. name: go|
00000030 6f 67 6c 65 2d 6d 61 70 73 2d 64 69 72 65 63 74 |ogle-maps-direct|
00000040 69 6f 6e 73 2d 61 70 69 2d 73 65 63 72 65 74 0a |ions-api-secret.|
00000050 74 79 70 65 3a 20 4f 70 61 71 75 65 0a 64 61 74 |type: Opaque.dat|
00000060 61 3a 0a 20 20 47 4f 4f 47 4c 45 5f 4d 41 50 53 |a:. GOOGLE_MAPS|
00000070 5f 44 49 52 45 43 54 49 4f 4e 53 5f 41 50 49 5f |_DIRECTIONS_API_|
00000080 4b 45 59 3a 20 51 55 6c 36 59 56 4e 35 51 7a 68 |KEY: QUl6YVN5Qzh|
...
000000b0 51 62 55 70 71 54 48 4e 4a |QbUpqTHNJ|
000000b9

但是!当我进入 pod 内的 Node.JS 解释器时,我看到以下内容:

> process.env.GOOGLE_MAPS_DIRECTIONS_API_KEY
'AIz...jLsI\n'

字符串末尾附加了一个辅助换行符!

坦率地说,这非常令人沮丧。我有几个关于这个主题的问题。

  • 你能发现我的错误吗?例如。我在 secret 传播管道的什么时候不小心插入了换行符?
  • 我应该使用什么 Unix 命令来打印换行符以按字面解释的方式(作为 \n)控制台,以便我可以实际看到它?
  • 将从环境变量中删除尾随换行符的代码注入(inject)到我的容器镜像中是否被视为不良做法?我知道这在技术上是不正确的,但这非常痛苦。

最佳答案

如果您之前创建了没有 -n 选项到 echo 的 key ,请验证 key 是否保留在 API 中(kubectl get secret/google-maps- direction-api-secret -o yaml) 与您的 yaml 文件中的 key 匹配,并验证消费应用已重新部署,因为 key 已使用正确的值更新

关于kubernetes - 调试 Kubernetes key 中不必要的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49155199/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com