Release notes
Abstract
Providing feedback on Red Hat documentation Copy linkLink copied to clipboard!
You can provide feedback or report an error by creating a Jira issue for the KATA project, where you can track the progress of your feedback. You must have a Red Hat Jira account and be logged in.
- Launch the Create Issue form.
Complete the Summary, Description, and Reporter fields.
In the Description field, include the documentation URL, chapter or section number, and a detailed description of the issue.
- Click Create.
Chapter 1. About this release Copy linkLink copied to clipboard!
These release notes track the development of OpenShift sandboxed containers 1.10 alongside Red Hat OpenShift Container Platform 4.19. Release notes include links to the original tickets. Private tickets have no links.
OpenShift Container Platform is designed for FIPS. When running Red Hat Enterprise Linux (RHEL) or Red Hat Enterprise Linux CoreOS (RHCOS) booted in FIPS mode, OpenShift Container Platform core components use the RHEL cryptographic libraries that have been submitted to NIST for FIPS 140-2/140-3 Validation on only the x86_64, ppc64le, and s390x architectures.
For more information about the NIST validation program, see Cryptographic Module Validation Program. For the latest NIST status for the individual versions of RHEL cryptographic libraries that have been submitted for validation, see Compliance Activities and Government Standards.
Chapter 2. New features and enhancements Copy linkLink copied to clipboard!
This section describes new features and enhancements introduced in OpenShift sandboxed containers 1.10.
Azure integrity-protected pod VM image
A Red Hat-created image is now enabled by default for sandboxed containers and Confidential Containers running on Azure, enhancing the security of container and VM images.
Google Cloud now supports binding resource tags to pod VM instances.
Users can set tags via the TAGS field in the peer-pods-cm ConfigMap. Tags must exist at the project level before they can be applied.
Confidential Containers on Azure
This release enables General Availability (GA) support for running Confidential Containers on all Azure confidential VM types (Intel TDX, AMD SEV-SNP) in self-managed OpenShift clusters. This allows OpenShift sandboxed containers (Kata-based pods) to run in hardware-isolated CVMs with memory encryption, verified through remote attestation using the Red Hat build of Trustee, with support for sealed secrets provisioning inside the CVM after successful attestation.
Chapter 3. Bug fixes Copy linkLink copied to clipboard!
This section describes bugs fixed in OpenShift sandboxed containers 1.10.
Clock drift noticed in Openshift sandbox containers
Cause: Clock drift is observed in sandboxed containers on baremetal. Consequence: Time critical workloads might have a degraded behavior or fail. Fix: Kata guest clock is now synchronized with the host clock. Result: No more drift is observed.
Chapter 4. Technology Previews Copy linkLink copied to clipboard!
This section provides a list of all Technology Previews available in OpenShift sandboxed containers 1.10.
See Technology Preview Features Support Scope for more information.
Peer pod support for IBM Z and IBM LinuxONE
You can deploy OpenShift sandboxed containers workloads, without nested virtualization, by using peer pods on IBM Z® and IBM® LinuxONE (s390x architecture).
Jira:KATA-2030
Confidential Containers on IBM Z and IBM LinuxONE
Confidential Containers provides enhanced security for cloud-native applications, allowing them to run in secure and isolated environments known as Trusted Execution Environments (TEEs), which protect the containers and their data even when in use.
Note the following limitations:
- No encryption and integrity protection of the confidential virtual machine (CVM) root filesystem (rootfs): The CVM executes inside the TEE and runs the container workload. Lack of encryption and integrity protection of the rootfs could allow a malicious admin to exfiltrate sensitive data written to the rootfs or to tamper with the rootfs data. Integrity protection and encryption for the rootfs is currently work in progress. You must ensure that all your application writes are in memory.
- No encrypted container image support: Only signed container image support is currently available. Encrypted container image support is work in progress.
- Communication between the Kata shim and the agent components inside the CVM is subject to tampering: The agent components inside the CVM are responsible for executing Kubernetes API commands from the Kata shim running on the OpenShift worker node. We use an agent policy in the CVM that turns off Kubernetes exec and log APIs for the containers to avoid exfiltration of sensitive data via the Kubernetes API. However, this is incomplete; further work is ongoing to harden the communication channel between the shim and the agent components. The agent policy can be overridden at runtime by using pod annotations. Currently, runtime policy annotations in the pod are not verified by the attestation process.
- No native support for encrypted pod-to-pod communication: Pod-to-pod communication is unencrypted. You must use TLS at the application level for all pod-to-pod communication.
- Image double-pull on the worker node and inside the CVM: The container image is downloaded and executed in the CVM that executes inside the TEE. However, currently the image is also downloaded on the worker node.
- Building the CVM image for Confidential Containers requires the OpenShift sandboxed containers Operator to be available in the cluster.
Jira:KATA-2416
Chapter 5. Known issues Copy linkLink copied to clipboard!
This section describes known issues in OpenShift sandboxed containers 1.10.
Peer pod VM images cannot be pulled from private registries
Because of changes to the image pull mechanism in 1.10, authentication does not work when pulling peer pod VM images from private registries such as registry.access.redhat.com. The workaround is to copy the cluster pull secret to the peer pod namespace. Then, you must either link the pull secret to the default service account or add the pull secret explicitly to the peer pod manifest.
Increasing container CPU resource limits fails if CPUs are offline
Using container CPU resource limits to increase the number of available CPUs for a pod fails if the requested CPUs are offline. If the functionality is available, you can diagnose CPU resource issues by running the oc rsh <pod> command to access a pod and then running the lscpu command:
$ lscpu
Example output:
CPU(s): 16
On-line CPU(s) list: 0-12,14,15
Off-line CPU(s) list: 13
The list of offline CPUs is unpredictable and can change from run to run.
To work around this problem, use a pod annotation to request additional CPUs as in the following example:
metadata:
annotations:
io.katacontainers.config.hypervisor.default_vcpus: "16"
Increasing the sizeLimit does not expand an ephemeral volume
You cannot use the sizeLimit parameter in the pod specification to expand ephemeral volumes because the volume size default is 50% of the memory assigned to the sandboxed container.
To work around this problem, change the size by remounting the volume. For example, if the memory assigned to the sandboxed container is 6 GB and the ephemeral volume is mounted at /var/lib/containers, you can increase the size of this volume beyond the 3 GB default by running the following command:
$ mount -o remount,size=4G /var/lib/containers
Note that the mount command needs to run inside the pod. You can either have this as part of the pod manifest itself or you can start a shell session in the pod by running oc rsh and execute the mount command.