14.2.3. 在安装过程中加密磁盘
您可以在安装时在 control plane 和计算节点上为引导磁盘启用加密。OpenShift Container Platform 支持 Trusted Platform 模块 (TPM) v2 和 Tang 加密模式。
- TPM v2:这是首选模式。TPM v2 将密码短语存储在服务器中包含的安全加密处理器中。如果从服务器中删除了磁盘,您可以使用这个模式防止集群节点中的引导磁盘数据被解密。
- Tang:Tang 和 Clevis 是启用网络绑定磁盘加密 (NBDE) 的服务器和客户端组件。您可以将集群节点中的引导磁盘数据绑定到 Tang 服务器。这可以防止数据被解密,除非节点位于可访问 Tang 服务器的安全网络中。Clevis 是一种自动化的解密框架,用于在客户端实现解密。
使用 Tang 加密模式加密您的磁盘只支持在用户置备的基础架构上的裸机和 vSphere 安装。
启用 TPM v2 或 Tang 加密模式时,RHCOS 引导磁盘将使用 LUKS2 格式进行加密。
这个功能:
- 可用于安装程序置备的基础架构和用户置备的基础架构部署
- 只在 Red Hat Enterprise Linux CoreOS (RHCOS) 系统上被支持
- 在清单安装阶段设置磁盘加密,以便加密所有写入磁盘的数据(从第一次引导开始)
-
只加密 root 文件系统中的数据(/
dev/mapper/coreos-luks-root
on/
) - 不需要用户干预就可以提供密码短语
- 使用 AES-256-CBC 加密
按照以下两个流程之一为集群中的节点启用磁盘加密。
14.2.3.1. 启用 TPM v2 磁盘加密
使用以下步骤在 OpenShift Container Platform 安装过程中启用 TPM v2 模式磁盘加密。
先决条件
- 您已在安装节点上下载了 OpenShift Container Platform 安装程序。
流程
- 检查每个节点的 BIOS 是否需要启用 TPM v2 加密。这在大多数 Dell 系统中是必需的。请参阅您的计算机的相关手册。
在安装节点上,切换到包含安装程序的目录,并为集群生成 Kubernetes 清单:
$ ./openshift-install create manifests --dir <installation_directory> 1
- 1
- 将
<installation_directory>
替换为您要存储安装文件的目录的路径。
使用 TPM v2 加密模式为 control plane 或计算节点创建机器配置文件来加密引导磁盘。
要在 control plane 节点上配置加密,请将以下机器配置示例保存到
<installation_directory>/openshift
目录中的一个文件中。例如,将文件命名为99-openshift-master-tpmv2-encryption.yaml
:apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: name: master-tpm labels: machineconfiguration.openshift.io/role: master spec: config: ignition: version: 3.1.0 storage: files: - contents: source: data:text/plain;base64,e30K mode: 420 overwrite: true path: /etc/clevis.json
要在计算节点上配置加密,请将以下机器配置示例保存到
<installation_directory>/openshift
目录中的文件中。例如,将文件命名为99-openshift-worker-tpmv2-encryption.yaml
:apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: name: worker-tpm labels: machineconfiguration.openshift.io/role: worker spec: config: ignition: version: 3.1.0 storage: files: - contents: source: data:text/plain;base64,e30K mode: 420 overwrite: true path: /etc/clevis.json
- 创建 YAML 文件的备份副本。创建 Ignition 配置文件时会消耗原始 YAML 文件。
- 继续进行 OpenShift Container Platform 安装的其余部分。