7.3. 在 IBM Z 和 IBM LinuxONE 中配置 IBM Secure Execution 虚拟机
您可以在 IBM Z® 和 IBM® LinuxONE 上配置 IBM® Secure Execution 虚拟机(VM)。
Linux 的 IBM® Secure Execution 是 IBM® z15 和 IBM® LinuxONE III 中引入的 s390x 安全技术。它保护在 KVM 虚拟机中运行的工作负载数据不受服务器环境检查或修改。
特别是,没有硬件管理员、没有 KVM 代码,且 KVM 管理员无法访问作为 IBM Secure Execution 客户机启动的客户端中的数据。
在 IBM Z 和 IBM LinuxONE 上启用 IBM Secure Execution 的 OpenShift Virtualization 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅以下链接:
要在集群的 IBM Z® 和 IBM® LinuxONE 上启用 IBM® Secure Execution 虚拟机(VM),您必须确保满足先决条件并完成以下步骤。
先决条件
- 集群有在 IBM® z15 或更高版本上运行的逻辑分区(LPAR)节点,或 IBM® LinuxONE III 或更高版本。
- 您有可在集群中运行的 IBM® 安全执行工作负载。
-
已安装 OpenShift CLI(
oc)。
流程
要运行 IBM® 安全执行虚拟机,您必须为每个计算节点添加
prot_virt=1内核参数。要启用所有计算节点,请创建一个名为secure-execution.yaml的文件,其中包含以下机器配置清单:apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: name: secure-execution labels: machineconfiguration.openshift.io/role: worker spec: kernelArguments: - prot_virt=1其中:
prot_virt=1- 指定 ultravisor 可以存储内存安全信息。
运行以下命令来应用更改:
$ oc apply -f secure-execution.yamlMachine Config Operator (MCO) 会应用更改,并在受控的推出部署中重启节点。
运行以下命令来编辑
HyperConverged自定义资源 (CR):$ oc edit -n openshift-cnv HyperConverged kubevirt-hyperconverged通过应用以下注解,为 IBM® 安全执行启用功能门:
apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: annotations: kubevirt.kubevirt.io/jsonpatch: |- [ { "op":"add", "path":"/spec/configuration/developerConfiguration/featureGates/-", "value":"SecureExecution" } ]
在 IBM Z® 和 IBM® LinuxONE 上启动 IBM® Secure Execution 虚拟机前,您必须将 launchSecurity 参数添加到虚拟机清单中。否则,虚拟机无法正确引导,因为它无法访问该设备。
流程
将以下
VirtualMachine清单应用到集群:apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: f41-se name: f41-se spec: runStrategy: Always template: metadata: labels: kubevirt.io/vm: f41-se spec: domain: launchSecurity: {} devices: disks: - disk: bus: virtio name: rootfs machine: type: "" resources: requests: memory: 4Gi terminationGracePeriodSeconds: 0 volumes: - name: rootfs dataVolume: name: f41-se要启动 IBM® Secure Execution 虚拟机,您必须在清单中包含以下 YAML:
spec: domain: launchSecurity: {}其余虚拟机清单根据您的设置是变量的。
注意由于虚拟机的内存受到保护,因此 IBM® 安全执行虚拟机不可实时迁移。虚拟机只能离线迁移。