k3s secrets-encrypt
K3s 支持启用静态加密。有关详细信息,请参阅 Secret 加密。
Secret 加密工具
版本
从 v1.21.8+k3s1 起可用
K3s 包含一个 CLI 工具 secrets-encrypt
,可以自动控制以下内容:
- 禁用/启用 Secret 加密
- 添加新的加密密钥
- 轮换和删除加密密钥
- 重新加密 Secret
注意
如果不遵循正确的加密密钥轮换程序,你的集群可能会永久损坏。因此,请谨慎操作。
加密密钥轮换
- 单服务器
- 高可用
要在单服务器集群上轮换 Secret 加密密钥:
- 使用标志
--secrets-encryption
启动 K3s Server
备注
目前不支持在没有加密的情况下启动 K3s 并在后续启用它。
-
准备
k3s secrets-encrypt prepare
-
使用相同的参数终止并重启 K3s Server。如果将 K3s 作为服务运行:
# 如果使用 systemd
systemctl restart k3s
# 如果使用 openrc
rc-service k3s restart -
轮换
k3s secrets-encrypt rotate
-
使用相同的参数终止并重启 K3s Server。
-
重新加密
信息K3s 每秒将重新加密约 5 个 Secret。
具有大量 Secret 的集群可能需要几分钟才能重新加密。k3s secrets-encrypt reencrypt
嵌入式数据库和外部数据库集群的步骤相同。
要在 HA 设置上轮换 Secret 加密密钥:
注意事项
- 目前不支持在没有加密的情况下启动 K3s 并在后续启用它。
- 虽然不是必需的,但建议你选择一个 Server 节点来运行
secrets-encrypt
命令。
-
使用
--secrets-encryption
标志启动所有三个 K3s Server。为简便起见,我们将 server 分别称为 S1、S2、S3。 -
准备 S1
k3s secrets-encrypt prepare
-
使用相同的参数终止并重启 S1。如果将 K3s 作为服务运行:
# 如果使用 systemd
systemctl restart k3s
# 如果使用 openrc
rc-service k3s restart -
S1 启动后,终止并重启 S2 和 S3
-
轮换 S1
k3s secrets-encrypt rotate
-
使用相同的参数终止并重启 S1。
-
S1 启动后,终止并重启 S2 和 S3
-
在 S1 上重新加密
信息K3s 每秒将重新加密约 5 个 Secret。
具有大量 Secret 的集群可能需要几分钟才能重新加密。k3s secrets-encrypt reencrypt
-
使用相同的参数终止并重启 S1。
-
S1 启动后,终止并重启 S2 和 S3