【问题标题】:How to edit secrets in kubernetes nicely?如何很好地编辑 kubernetes 中的秘密?
【发布时间】:2018-06-21 17:15:46
【问题描述】:

我想编辑我的秘密。我知道的唯一方法是kubectl edit secret mysecret,它让我可以编辑 yaml blob。但是,所有机密都是 base64 编码的,这不是一种简单的编辑方法。

我可以以某种方式将秘密挂载到本地卷吗?我可以将秘密提取到我的本地主机并在那里进行编辑吗?最后,我可以编辑一些方法来获取纯文本键/值(或仅一个键)而不是 base64 编码值。

附: 我可以使用 kubectl 轻松查看密钥吗? edit 我看到了它们,但是当我只对键感兴趣时,对值不感兴趣。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    很遗憾,没有,您描述的问题是您只需要通过自己解码/编码 base64 内容来“在一边”处理。

    有一些方法可以通过对资源使用模板(即通过 helm 图表)来简化此操作,但这涉及以其他方式存储原始机密,并仅应用来自“源”的更改,而不是进行编辑。

    【讨论】:

      【解决方案2】:

      我们使用https://github.com/bq/k8s-secret-editor - 效果很好!它有点落后,但我一直在使用 Kubernetes 1.8 没有问题。

      【讨论】:

      • 将某人的 docker 镜像拉入我的 k8s 集群来编辑秘密似乎是不明智的
      • 同意。我不是在拉图像,而是在构建自己的图像。你可以查看 k8s-secret-editor 的来源——它不是很复杂。话虽如此,我现在已经放弃了这种方法。在untapt.com,我们将 yaml 文件集中保存在一个安全区域,并使用环绕kubectl create secret 的 bash 脚本部署整个 .yml 文件(或多个文件,如果需要)。所以我们不再“编辑”秘密,我们使用这些文件作为源来删除和创建。
      【解决方案3】:

      我强烈推荐使用 k9s(不仅用于此目的,还可以作为轻量级 k8s CLI 管理工具)。

      如下所示(忽略所有白色占位符),当您在终端上设置集群的上下文时,您只需键入 k9s,您就会看到一个不错的终端,您可以在其中检查所有集群资源。

      只需输入":" 并输入将出现在屏幕中间的资源名称(在本例中为secrets)。

      然后您可以使用向上和向下箭头选择一个秘密并输入e 进行编辑(绿色箭头):

      【讨论】:

        猜你喜欢
        • 2023-02-10
        • 1970-01-01
        • 2023-01-20
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-21
        • 2016-02-17
        相关资源
        最近更新 更多