引用 Kubernetes Secret 中的密钥
Kubernetes Secrets 是存储密码、API 密钥和令牌等敏感数据的对象。它们可以作为环境变量暴露在 Pod 中,或者集成为密钥提供商以增强 API 安全性。
本教程演示了如何将 API7 企业版与 Kubernetes 作为密钥提供商进行集成,使你能够从 Kubernetes secrets 中安全地存储和引用消费者凭证及插件配置。如果你使用的是 Ingress Controller,则无需将 Kubernetes 添加为密钥提供商即可使用 Kubernetes Secrets。
前置条件
- 安装 API7 企业版。
- 在你的网关组中至少有一个网关实例。
- 准备你的 Kubernetes 集群以存储 secrets。
- 安装 cURL 以向服务发送请求进行验证。
在网关组中添加密钥提供商
- Dashboard
- ADC
- 从侧边导航栏选择你的网关组下的 Secret 提供商,然后点击 新增 Secret 提供商。
- 在弹出的对话框中,执行以下操作:
- 在 Secret 提供商 ID 字段中,输入
my-kubernetes-secret。 - 在 Secret 管理服务 字段中,选择
Kubernetes。 - 填写 API 服务器地址 字段。例如:
http://127.0.0.1。 - 填写 令牌 字段。
- 点击 新增。
- 复制 Secret 变量 以供将来引用。所有密钥引用均由此生成,例如:
$secret://kubernetes/my-kubernetes-secret/$namespace/$secret_name/$key。