【问题标题】:Encrypting secret to read GitHub source in Flux加密密钥以在 Flux 中读取 GitHub 源代码
【发布时间】:2022-08-14 03:15:14
【问题描述】:

在我的 Kubernetes 云中,我确实有 FluxCD 来管理所有组件。 FluxCD 正在使用 SOPS 来解密所有密码。这导致了这样的声明:

---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
metadata:
  name: load-balancer-controller
  namespace: flux-system
spec:
  interval: 1m
  ref:
    branch: main
  url: https://github.com/fantasyaccount/load-balancer-controller.git

---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
  name: load-balancer-controller
  namespace: flux-system
spec:
  decryption:
    provider: sops
    secretRef:
      name: sops-gpg
  interval: 1m
  path: \"./deployment\"
  prune: true
  sourceRef:
    kind: GitRepository
    name: load-balancer-controller

在负载平衡器控制器存储库中,我可以使用 SOPS 加密的机密。这对我来说很清楚。

但是,是否也可以使用 SOPS 来加密秘密令牌以访问存储库本身?我知道我可以使用kubectl 创建秘密...也将秘密令牌添加到 Kubernetes,但这就是我现在想要的。我也想在这里使用 SOPS 加密令牌。

标签: kubernetes flux eksctl mozilla-sops


【解决方案1】:

加密初始GitRepository 的秘密的挑战是然后定义集群配置过程的样子,因为这代表了一个鸡蛋问题。

我可以看到这个工作的一种方法是使用支持上下文身份验证的源安装 Flux,例如Bucket。这样,您可以将加密的 Git 机密、GitRepository 存储到当前存储库以及将其应用于集群的 Kustomization 存储在 S3 存储桶中。

以下是有关 EKS 的上下文身份验证的更多信息: https://fluxcd.io/docs/components/source/buckets/#aws-ec2-example

请注意,使用这种方法,您的集群部署管道必须存储您的 GPG 密钥,因为您需要在将 Flux 安装到集群之前(或之后)部署该密钥。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2015-08-17
    • 2017-03-12
    • 2019-03-30
    • 2021-09-05
    • 1970-01-01
    • 2016-09-28
    相关资源
    最近更新 更多