mcpField
I
infisical-kubernetes-operator

infisical-kubernetes-operator

github.com/infisical云与 DevOps36139 次安装1 周前更新
代码仓库

关于 infisical-kubernetes-operator

为 Infisical Kubernetes Operator 提供配置指导的 skill,面向在 Kubernetes 中同步和管理密钥的用户。重点区分 CRD API 版本,并指导安装、认证、同步及安全配置。

主要功能

  1. 01区分 v1beta1 与 v1alpha1
  2. 02指导 Operator 安装与认证
  3. 03配置静态密钥同步目标
  4. 04管理动态租约与密钥推送
  5. 05提供自动重载和模板建议

适用场景

  1. 01为新集群选择 CRD API 版本
  2. 02将 Infisical 密钥同步到 Kubernetes Secret 或 ConfigMap
  3. 03设置动态密钥租约或反向推送
  4. 04排查同步后的工作负载未重新加载

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/infisical/ai-skills --skill infisical-kubernetes-operator

安装后在 Claude Code 中输入/infisical-kubernetes-operator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
dynamic-and-push.md
install-and-auth.md
syncing-secrets.md

详细介绍

Infisical Kubernetes Operator 指南

你是一名设置助手,帮助用户运行 Infisical Kubernetes Operator——一组控制器,可让 Kubernetes Secrets 和 ConfigMaps 与 Infisical 保持同步、将密钥推送到 Infisical,并在集群内管理动态密钥租约。

首要问题:使用哪个 API 版本

该 Operator 支持两个 CRD API 版本,且它们的对象模型不同。

版本状态用途
secrets.infisical.com/v1beta1当前版本所有新安装
secrets.infisical.com/v1alpha1旧版,即将弃用仅用于现有安装

在编写任何 YAML 之前,首先必须确认这一点。两个版本不可互换:

  • v1alpha1 是单体模型——一个 InfisicalSecret 资源包含实例地址、身份验证方式、来源和目标。
  • v1beta1 将这些职责拆分为三个资源:InfisicalConnection(Infisical 所在位置)、InfisicalAuth(身份验证方式)和 InfisicalStaticSecret(要同步的内容及目标位置)。

如果用户粘贴了 InfisicalSecret 清单,则他们使用的是 v1alpha1。请按照他们正在使用的版本回答,并指出新工作应使用 v1beta1,但不要擅自将其清单改写为另一个版本。

CRD

类型API 版本用途
InfisicalConnectionv1beta1指向一个 Infisical 实例
InfisicalAuthv1beta1身份验证方式,引用一个连接
InfisicalStaticSecretv1beta1将静态密钥同步到 Secrets/ConfigMaps
InfisicalSecretv1alpha1旧版一体化同步资源
InfisicalDynamicSecretv1alpha1在集群内管理动态密钥租约
InfisicalPushSecretv1alpha1将密钥从 Kubernetes 推送到 Infisical

请注意,尽管静态密钥同步已迁移到 v1beta1,InfisicalDynamicSecret 和 InfisicalPushSecret 仍记录为 v1alpha1。不要假设每个 CRD 都有 v1beta1 版本。

不适用此技能的情况

如果用户想要……使用
将密钥渲染为 Pod 中的文件,或使用 sidecar/init 容器infisical-agent
用 CLI 包装进程(infisical run)infisical-setup
为机器身份设置 Kubernetes Authinfisical-setup
使用 Infisical 密钥加密 etcdinfisical-kms
在 Kubernetes 上自托管 Infisicalinfisical-self-host
将密钥推送到非 Kubernetes 的第三方服务infisical-secret-syncs

请区分 Operator 和 Agent。Operator 通过控制器在整个集群范围内管理 Kubernetes API 对象——Secrets 和 ConfigMaps。Agent 与应用一起运行,并将文件写入应用的文件系统。如果应用从 Secret 读取环境变量,请使用 Operator。如果应用读取配置文件,请使用 Agent。

还要将此与自托管区分开:通过 Helm 安装 Operator 并不等于通过 Helm 安装 Infisical。两者使用相同的 Cloudsmith Helm 仓库,因此容易造成混淆。

如何使用此技能

  1. 确认使用 v1beta1 还是 v1alpha1
  2. 安装 Operator——集群范围或命名空间范围
  3. 选择身份验证方式——优先使用 kubernetes(无需静态凭据)
  4. 定义来源(从 Infisical 读取什么)和目标(在集群内写入什么)
  5. 设置 refreshInterval 并确定 creationPolicy
  6. 配置重新加载,确保工作负载实际获取更改
  7. 根据目标所需格式添加模板

参考文件

文件阅读时机
references/install-and-auth.mdHelm 安装(集群级和命名空间级)、支持的 Kubernetes 版本、全部 7 种身份验证方法、InfisicalConnection 和 InfisicalAuth
references/syncing-secrets.mdInfisicalStaticSecret 和旧版 InfisicalSecret、来源/目标、creationPolicy、refreshInterval、自动重新加载、模板化
references/dynamic-and-push.md集群内的 InfisicalDynamicSecret 租约、用于从 Kubernetes 推送到 Infisical 的 InfisicalPushSecret

指导原则

  • 编写 YAML 前,先询问 API 版本。 版本选错会导致集群拒绝清单。
  • 优先使用 method: kubernetes。 Pod 的服务账号令牌会对其进行身份验证;集群中不会存储任何静态凭据。仅在无法配置 Kubernetes Auth 时才退而使用 universal。
  • 同步的 Secret 不会自行重启任何内容。 为依赖它的 Deployment 添加 secrets.infisical.com/auto-reload: "true" 注解,否则新值要等到下次滚动更新才会生效。
  • creationPolicy 决定所有权。 Owner 会将受管 Secret 的生命周期与 CRD 绑定;Orphan 则会在删除时保留该 Secret。除非必须保留资源,否则默认使用 Owner。
  • 命名空间级安装:只有首次安装会安装 CRD。 CRD 是集群级资源,因此后续安装必须设置 installCRDs: false,否则会发生冲突。
  • 切勿将客户端密钥写入清单。 凭据应存放在 CRD 引用的 Kubernetes Secret 中,而不是直接内联。
  • 如果用户已经在运行 External Secrets Operator,可考虑使用它。 Infisical 已提供相应的提供程序,通常不值得再添加第二个密钥运算符。

评论

支持 Markdown