1

我在 Google 上没有找到任何答案,但我可能只是不知道要搜索哪些术语。

在 CRD 中,有没有办法在规范中定义一个机密字段(因此不应以纯文本形式存储)?例如,如果自定义资源需要包含一个 API 令牌,您如何在 CRD 中定义它?

我的一个想法是让用户在 CRD 之外创建一个 Secret,然后在自定义资源字段中提供该密钥的名称,以便操作员可以在需要时从 K8s API 查询它(并且显然需要关联的 RBAC配置为使操作员具有对 Secret 的读取权限)。因此 CRD 中的字段将只是一个普通字符串,即目标 Secret 的名称。

但是有更好的方法吗?任何现有的最佳实践?

4

1 回答 1

2

您确实只是将值存储在实际的 Secret 中并引用它。你会在 k8s 上找到相同的模式。然后在你的控制器代码中你得到你的自定义对象,找到引用,得到那个秘密,然后你就有了你的数据。

于 2020-04-14T04:27:28.187 回答