<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Cloud-Providers on Confidential Containers</title>
		<link>/categories/cloud-providers/</link>
		<description>Recent content in Cloud-Providers on Confidential Containers</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
			<copyright>© The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our &lt;a href=&#34;https://www.linuxfoundation.org/trademark-usage/&#34;&gt;Trademark Usage&lt;/a&gt; page.</copyright>
		
		
			<atom:link href="/categories/cloud-providers/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Cloud Providers</title>
				<link>/docs/cloud-providers/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/cloud-providers/</guid>
				<description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#introduction&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;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.&#xA;This deployment model provides strong workload isolation without tying the Kubernetes worker nodes to a particular virtualization or confidential-computing technology.&#xA;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.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Alibaba Cloud (ACK)</title>
				<link>/docs/cloud-providers/alibaba-cloud-simple/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/cloud-providers/alibaba-cloud-simple/</guid>
				<description>&lt;p&gt;This documentation will walk you through setting up CAA (a.k.a. Peer Pods) on Alibaba Cloud Container Service for Kubernetes (ACK) and Alibaba Cloud Elastic Compute Service (ECS). It explains how to deploy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;One worker for ACK Managed Cluster&lt;/li&gt;&#xA;&lt;li&gt;CAA on that Kubernetes cluster&lt;/li&gt;&#xA;&lt;li&gt;An Nginx pod backed by CAA pod VM on ECS&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Run the following commands from the following directory - &lt;code&gt;src/cloud-api-adaptor&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Now Confidential Computing instances are available &lt;a href=&#34;https://www.alibabacloud.com/help/en/ecs/user-guide/build-a-tdx-confidential-computing-environment&#34;&gt;in some regions&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>AWS (EKS)</title>
				<link>/docs/cloud-providers/aws-simple/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/cloud-providers/aws-simple/</guid>
				<description>&lt;p&gt;This documentation will walk you through setting up CAA (a.k.a. Peer Pods) on AWS Elastic Kubernetes Service (EKS). It explains how to deploy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A single worker node Kubernetes cluster using Elastic Kubernetes Service (EKS)&lt;/li&gt;&#xA;&lt;li&gt;CAA on that Kubernetes cluster&lt;/li&gt;&#xA;&lt;li&gt;An Nginx pod backed by CAA pod VM&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pre-requisites&#34;&gt;Pre-requisites&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#pre-requisites&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Install Required Tools:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Install &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/#kubectl&#34;&gt;kubectl&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Install &lt;a href=&#34;https://helm.sh/docs/intro/install&#34;&gt;Helm&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Install &lt;code&gt;aws&lt;/code&gt; CLI &lt;a href=&#34;https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html&#34;&gt;tool&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Install &lt;code&gt;eksctl&lt;/code&gt; CLI &lt;a href=&#34;https://eksctl.io/installation/&#34;&gt;tool&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Ensure that the tools &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt; and &lt;code&gt;jq&lt;/code&gt; are installed.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;aws-preparation&#34;&gt;AWS Preparation&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#aws-preparation&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Set &lt;code&gt;AWS_ACCESS_KEY_ID&lt;/code&gt;, &lt;code&gt;AWS_SECRET_ACCESS_KEY&lt;/code&gt; (or &lt;code&gt;AWS_PROFILE&lt;/code&gt;) and &lt;code&gt;AWS_REGION&lt;/code&gt; for AWS CLI access&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; As an alternative to static credentials, you can use &lt;a href=&#34;/docs/cloud-providers/aws-simple/#configure-authentication&#34;&gt;IRSA (IAM Roles for Service Accounts)&lt;/a&gt;&#xA;on EKS. With IRSA, the CAA pods authenticate via OIDC — no static AWS keys are stored in Kubernetes secrets.&#xA;You still need &lt;code&gt;AWS_REGION&lt;/code&gt; and temporary credentials for the cluster setup steps below.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>Azure Kubernetes Service (AKS)</title>
				<link>/docs/cloud-providers/azure-simple/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/cloud-providers/azure-simple/</guid>
				<description>&lt;p&gt;This documentation will walk you through setting up Cloud API Adaptor (CAA) (a.k.a. Peer Pods) on&#xA;Azure Kubernetes Service (AKS).&lt;/p&gt;&#xA;&lt;p&gt;It explains how to deploy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A single worker node Kubernetes cluster using Azure Kubernetes Service (AKS),&lt;/li&gt;&#xA;&lt;li&gt;CAA on that Kubernetes cluster,&lt;/li&gt;&#xA;&lt;li&gt;A sample application deployed using CAA to verify that everything is working as expected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Confidential Containers also supports using Azure Key Vault as a resource backend for Trustee.&#xA;&lt;a href=&#34;../../attestation/resources/kbs-backed-by-akv&#34;&gt;More info&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Google Cloud Platform (GCP)</title>
				<link>/docs/cloud-providers/gcp-simple/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/cloud-providers/gcp-simple/</guid>
				<description>&lt;p&gt;This documentation will walk you through setting up Cloud API Adaptor (CAA) (a.k.a. Peer Pods) on&#xA;Google Kubernetes Engine (GKE).&lt;/p&gt;&#xA;&lt;p&gt;It explains how to deploy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A single worker node Kubernetes cluster using Google Kubernetes Engine (GKE),&lt;/li&gt;&#xA;&lt;li&gt;CAA on that Kubernetes cluster,&lt;/li&gt;&#xA;&lt;li&gt;A sample application deployed using CAA to verify that everything is working as expected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pre-requisites&#34;&gt;Pre-requisites&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#pre-requisites&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Install Required Tools:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Install &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/&#34;&gt;kubectl&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Install &lt;a href=&#34;https://helm.sh/docs/intro/install&#34;&gt;Helm&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Install &lt;code&gt;gcloud&lt;/code&gt; CLI &lt;a href=&#34;https://cloud.google.com/sdk/docs/install&#34;&gt;tool&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Google Cloud Project:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ensure you have a Google Cloud project created,&lt;/li&gt;&#xA;&lt;li&gt;Note the Project ID (export it as &lt;code&gt;GCP_PROJECT_ID&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gcp-preparation&#34;&gt;GCP Preparation&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#gcp-preparation&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Set the environment variable &lt;code&gt;GCP_PROJECT_ID&lt;/code&gt; to your Google Cloud project ID:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;GCP_PROJECT_ID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;YOUR_PROJECT_ID&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Authenticate with Google Cloud and set the project:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gcloud auth login&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gcloud config &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; project &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;GCP_PROJECT_ID&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Enable the GKE API:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gcloud services &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; container.googleapis.com &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --project&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;GCP_PROJECT_ID&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This API is required to create and manage the GKE cluster.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Set the region and cluster name:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;GCP_REGION&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;us-central1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;CLUSTER_NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;caa-gke&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;h4 alert-heading&#34; role=&#34;heading&#34;&gt;Note&lt;/div&gt;&#xA;&lt;p&gt;&amp;ldquo;us-central1&amp;rdquo; was chosen because supports Confidential VMs.&lt;br&gt;&#xA;For a complete list of supported regions visit &lt;a href=&#34;https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations#supported-zones&#34;&gt;supported-configurations&lt;/a&gt;.&lt;/p&gt;&#xA; &lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
			</item>
	</channel>
</rss>
