Alibaba Cloud (ACK)
Cloud API Adaptor (CAA) on Alibaba Cloud
This guide covers how to run Confidential Containers workloads across supported cloud and virtualization environments by using the Cloud API Adaptor (CAA) and the peer-pods runtime. This deployment model provides strong workload isolation without tying the Kubernetes worker nodes to a particular virtualization or confidential-computing technology. Because PodVMs are provisioned alongside the Kubernetes worker nodes rather than inside them, the worker nodes can themselves be virtual machines; bare-metal workers and nested virtualization are not required.
The capabilities available to a workload depend on the infrastructure provider, region, machine type, and guest image. A PodVM can use a supported Trusted Execution Environment (TEE), such as Intel® TDX, AMD SEV-SNP, or IBM Secure Execution, where available. Some environments also support non-confidential VMs for development and testing. Consult the provider-specific guide for current requirements and limitations.
At a high level, the Cloud API Adaptor integrates with a provider’s compute API or virtualization backend to provision a suitable VM for each pod. The CAA then coordinates with the peer-pods runtime to run the pod workload in that dedicated PodVM. When the selected environment provides a TEE, this architecture can protect the workload from the host or hypervisor and support attestation.
Application manifests remain largely portable between environments. Provider-specific differences are handled during cluster setup and CAA configuration, including credentials, networking, regions or zones, instance types, VM images, and confidential-computing settings.
The provider-specific sections describe these differences and identify compatible machine types and isolation technologies where available.
The Cloud API Adaptor is an implementation of the remote hypervisor interface of Kata Containers. The CAA provisions Kata Containers VMs through the configured infrastructure backend instead of starting them on the worker nodes.
The background and description of the components involved in peer pods can be found in the CoCo architecture documentation.
In Confidential Containers, a PodVM is the confidential virtual machine created to host a single Kubernetes Pod. It is the VM boundary used by the peer-pods deployment model: when a pod is scheduled to a Confidential Containers runtime class, the runtime provisions a dedicated VM for that pod and then starts the pod’s containers inside the VM.
A PodVM typically includes:
From Kubernetes’ point of view, you still create a normal Pod (or a Deployment, Job, etc.).
The PodVM is an implementation detail of the runtime that provides a stronger isolation boundary than traditional containers:
In this guide, PodVMs are created on demand by the peer-pods runtime. The Cloud API Adaptor uses the configured infrastructure backend to provision and manage the VM instances that run those workloads.
Peer Pods is a Confidential Containers deployment model where each Kubernetes Pod runs inside its own dedicated confidential VM (a PodVM).
Operationally, when you deploy a pod using a Confidential Containers RuntimeClass, the peer-pods components:
Across managed Kubernetes, self-managed clusters, and supported virtualization environments, the Cloud API Adaptor provides the infrastructure integration needed to provision the VM instances used for these PodVMs.
Key properties of Peer Pods:
The following provider-specific sections cover cluster prerequisites, enabling Confidential Containers, selecting compatible VM types and images, configuring available isolation technologies, and deploying sample workloads using peer pods.
Cloud API Adaptor (CAA) on Alibaba Cloud
Peer Pods Helm Chart using Cloud API Adaptor (CAA) on AWS
Peer Pods Helm Chart using Cloud API Adaptor (CAA) on Azure
Peer Pods Helm Chart using Cloud API Adaptor (CAA) on GCP