【问题标题】:How do I manage jenkins secret in kubernetes?如何在 kubernetes 中管理 jenkins 秘密?
【发布时间】:2020-04-05 21:18:26
【问题描述】:

嘿,我是 kubernetes 的新手,正在玩 jenkins 部署。我已经通过deployment.yaml 以及服务和pvc.yaml 部署了jenkins master pod。

我将服务设置为节点端口,但是如何保护和管理 jenkins 机密?我需要为此创建某种配置映射吗?我通常从 kubectl logs 中获取 jenkins 的秘密。任何帮助或建议将不胜感激,以使这更安全:)

【问题讨论】:

  • 你指的是哪个秘密?
  • Jenkins 管理员密码。因此,当我第一次将 jenkins master pod 部署到我的 k8 集群中时,我不希望我的 jenkins 管理员密码被暴露。希望这是有道理的。
  • 我建议使用某种联合身份验证,例如 Google OAuth、GitHub 等。
  • 如果您不能使用任何外部设备(并且不知何故还没有内部 SSO 系统),请查看 Dex 和 Keycloak 等工具在本地进行设置。
  • 谢谢@willrof!

标签: jenkins kubernetes devops


【解决方案1】:

首先让我们理清一些概念和背景:

由于您是 Kubernetes 新手,我将帮助您更好地了解场景并为您提供实现目标的建议。

ConfigMap 将配置数据存储为键值对。 ConfigMap 类似于与 Secrets,但提供了一种处理不包含敏感信息的字符串的方法。

我发布 Configmap 的描述是为了帮助你理解它处理数据的功能强大但不适用于存储敏感信息,因此下面不再提及。

Kubernetes Secrets 允许您存储和管理敏感信息,例如密码、OAuth 令牌和 ssh 密钥。将机密信息存储在 Secret 中比将其逐字存储在 Pod 定义或容器映像中更安全、更灵活。

Kubernetes 本身使用机密来处理存储敏感数据的对象,并通过 kubernetes-api 进行身份验证,从而确保其免受外部访问,除非它具有集群管理的有效凭据。

默认情况下,Jenkins 将密码存储在 Secrets 中。


部署:


解决您的问题:

如何保护和管理 jenkins 机密?

  • Jenkins 秘钥通过 kubernetes 凭证来保护,只有有权访问集群的人才能提取它,因此默认情况下相对安全。
    • 您可以了解 Kubernetes 如何管理身份验证Here
    • 使用这种方法,您可以从 Jenkins UI 管理您的用户和密码。您可以了解 Jenkins 凭证here

任何帮助或建议将不胜感激,以使其更安全

如果我能进一步帮助您,请在 cmets 中告诉我!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-01
    • 2023-02-10
    • 1970-01-01
    • 2020-12-04
    • 2021-03-15
    • 2023-01-20
    • 2022-08-16
    • 1970-01-01
    相关资源
    最近更新 更多