gpt4 book ai didi

Kubernetes - 创建 configMap 和 secret 的最佳方式

转载 作者:行者123 更新时间:2023-12-02 12:06:50 25 4
gpt4 key购买 nike

我的服务至少有 4 个配置文件。

比如,application.properties,日志配置文件,查询文件,...

我将 4 个配置文件存储到 kubernetes ConfigMaps 中,它们用于不同的目的。目前,我正在为这 4 个文件创建 4 个 configMap,在部署文件中配置它们变得更加工作。

我们基本上将所有这些文件保存在 GIT 中,并将插入 GIT 的变化。因此,如果我们需要修改 configMap 中的某些内容,我们将首先在 GIT 中更新我们的文件,然后重新创建一个 configMap。

还有其他更好的方法来更新一些更改吗?

将所有这 4 个文件保存在一个 configMap 中是否有意义?

请有任何建议。

最佳答案

这是基于我迄今为止所学到的知识的个人意见,可能会有不同的、更简单甚至更好的方法,所以请谨慎回答这个问题。

考虑到您有多个服务或项目等。并且每个项目都有自己的配置文件或环境变量,服务需要这些文件或环境变量才能按预期运行。

我会做的是:

  • 确定哪些配置选项是 secret ,哪些是普通环境变量。
  • 为这些命名的文件创建两个文件可能 ..secret-config.yml 和 env-config.yml
  • 确保为每个文档设置适当的种类。这是一个示例配置文件,可以存储类似的 secret 文件。
    apiVersion: v1
    data:
    ENV_1: test
    ENV_1: test2
    ENV_1: test3
    kind: ConfigMap
    metadata:
    annotations:
    field.cattle.io/creatorId: user-8rtg2
    name: my-service-configs
    namespace: my-namespace
  • 现在假设您有一个 CI-CD 环境设置,在您的管道或部署配置中,在服务部署步骤后添加几个步骤以使用更新值更新这些 secret /配置映射。
    sh deploy_to_kubernets
    sh update_config_maps
    sh update_secrets

  • 现在解释一下自己:
  • 为什么我们将配置 kubernetes YML 存储在 repo 中?

    因为我们要确保所有相关的配置都可以访问并存储在相关的地方。这是有道理的,因为我们将在 CI 过程中使用它。
  • 如何从 CI 创建或更新配置和 secret ?

    现在对我来说,由于我在 kubernetes 之上使用 Rancher API,我可以使用 API 访问我的集群并创建或更新资源。我相信您可以找到类似的东西来在您的集群上执行此操作。

  • 所以总结一下,只需将您的配置存储在您的服务中,因为它配置是服务的一部分,并且是代码工作所必需的(找出一种编码或隐藏 secret 值以防止在代码中暴露的方法)。确保根据您使用的变量类型创建 secret 和配置映射。
    有了这个,您将能够自动创建配置映射,并且这些配置映射中的每一个都将在适当的上下文中。

    关于Kubernetes - 创建 configMap 和 secret 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51511191/

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