|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
秘密加密配置
K3s 支持在静态存储时启用机密加密。首次启动服务器时,传递标志 --secrets-encryption 将自动执行以下操作:
-
生成 AES-CBC 密钥
-
使用生成的密钥生成加密配置文件
-
将配置传递给 KubeAPI 作为 encryption-provider-config
|
无法在不重启现有服务器的情况下启用机密加密。 |
选择加密提供程序
|
版本门控
自 2025 年 4 月发布以来可用:v1.30.12+k3s1,v1.31.8+k3s1,v1.32.4+k3s1,v1.33.0+k3s1。 |
使用 --secrets-encryption-provider 标志,您可以从以下 K3s 支持的加密提供程序中进行选择:
-
aescbc:带有 PKCS#7 填充的 AES-CBC。这是默认的提供程序。 -
secretbox:XSalsa20 和 Poly1305
迁移提供程序
您可以通过以下步骤从 aescbc 提供程序迁移到 secretbox 提供程序:
-
确保
secretbox提供程序受到您的 K3s 版本的支持。 -
在您的 K3s 配置文件中更新/添加
secrets-encryption-provider标志为secretbox. -
按照下面的 加密密钥轮换 部分旋转加密密钥。
生成的加密配置文件
当您使用 --secrets-encryption 启动服务器时,K3s 将在 /var/lib/rancher/k3s/server/cred/encryption-config.json 生成一个加密配置文件。
以下是使用默认 aescbc 提供程序生成的加密配置文件示例:
{
"kind": "EncryptionConfiguration",
"apiVersion": "apiserver.config.k8s.io/v1",
"resources": [
{
"resources": [
"secrets"
],
"providers": [
{
"aescbc": {
"keys": [
{
"name": "aescbckey",
"secret": "xxxxxxxxxxxxxxxxxxx"
}
]
}
},
{
"identity": {}
}
]
}
]
}
机密加密工具
K3s 包含一个实用工具 secrets-encrypt,可以自动控制以下内容:
-
禁用/启用机密加密
-
添加新的加密密钥
-
轮换和删除加密密钥
-
重新加密机密
有关更多信息,请参见 k3s secrets-encrypt 命令文档。