第 2 章 在裸机上部署机密容器
您可以在在裸机上运行的 Red Hat OpenShift Container Platform 集群上部署机密容器工作负载。
裸机上的机密容器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
2.1. 准备 复制链接链接已复制到粘贴板!
在裸机上部署机密容器前,请先查阅这些前提条件和概念。
2.1.1. 先决条件 复制链接链接已复制到粘贴板!
- 您已在运行机密容器工作负载的集群中安装了最新版本的 Red Hat OpenShift Container Platform。
- 您已在可信环境中的 OpenShift Container Platform 集群中部署了红帽构建的 Trustee。如需更多信息,请参阅 部署红帽构建信任者。
2.1.2. Initdata 复制链接链接已复制到粘贴板!
initdata 规格提供了一种灵活的方法,来在运行时初始化带有特定于工作负载的数据的 pod,以避免在虚拟机(VM)镜像中嵌入此类数据。
这种方法通过减少机密信息的风险,并通过删除自定义镜像构建来提高灵活性来提高安全性。例如,initdata 可以包含三个配置设置:
- 用于安全通信的 X.509 证书。
- 用于身份验证的加密密钥。
-
可选的 Kata Agent
policy.rego文件,在覆盖默认的 Kata Agent 策略时强制执行运行时行为。
initdata 内容配置以下组件:
- attestation Agent (AA),它通过发送对测试的证据来验证 pod 的可信度。
- 机密数据 Hub (CDH),用于管理 pod 虚拟机中的 secret 和保护数据访问。
- Kata Agent,它强制执行运行时策略并管理 pod 虚拟机内容器的生命周期。
您可以创建一个 initdata.toml 文件,并将其转换为 Base64 编码的 gzip-format 字符串。您可以通过在 pod 清单中添加注解来将 initdata 字符串应用到工作负载。
2.1.3. Kata 运行时部署模式 复制链接链接已复制到粘贴板!
您可以选择 Operator 如何使用部署模式 MachineConfig、DaemonSet 或 DaemonSetFallback 来安装和配置 Kata 运行时。您可以在 osc-feature-gates 配置映射中指定 data.deploymentMode 键。通过这种灵活性,Operator 可以在带有或不使用 Machine Config Operator (MCO)的集群中一致工作。
MachineConfig-
对于使用 Machine Config Operator (MCO)的集群。如果配置映射中缺少
deploymentMode键,Operator 会默认使用MachineConfig来向后兼容。 DaemonSet-
对于没有 MCO 的集群。Operator 使用
DaemonSet安装 kata-containers RPM 并使用主机置入文件管理 CRI-O 配置。通过节点标签(例如,安装、)跟踪安装进度。安装 DaemonSetFallback-
启用基于集群环境的条件部署。设置后,Operator 会检查 MCO 是否存在。如果
MachineConfig附加组件不可用,它将使用DaemonSet,否则默认为MachineConfig。