|
2 | 2 | [](https://goreportcard.com/report/github.com/google/cc-device-plugin) |
3 | 3 |
|
4 | 4 | ## Introduction |
5 | | -This is a [Kubernetes][k8s] [device plugin][dp] implementation that enables the |
6 | | -registration of Confidential Computing devices in a Google |
7 | | -Kubernetes Engine (GKE) for compute workload. With the appropriate GKE setup and |
8 | | -this plugin deployed in your Kubernetes cluster, you will be able to run jobs |
9 | | -(e.g. Attestation) that require Confidential Computing devices. (Note that: Current version supports [TPM][tpm]. Support for [SEV SNP][sevsnp] and [TDX][tdx] are on the way.) |
| 5 | + |
| 6 | +This is a [Kubernetes][k8s] [device plugin][dp] implementation that enables |
| 7 | +the registration of Confidential Computing devices in a Google Kubernetes |
| 8 | +Engine (GKE) cluster for compute workloads. With the appropriate GKE setup |
| 9 | +and this plugin deployed, your Kubernetes cluster will be able to run jobs |
| 10 | +(e.g., Attestation) that require Confidential Computing devices. |
| 11 | + |
| 12 | +This plugin supports the following technologies on GKE: |
| 13 | +* **vTPM / AMD SEV:** Exposes `google.com/cc` resource. |
| 14 | +* **AMD SEV-SNP:** Exposes `amd.com/sev-snp` resource. Requires AMD SNP machines. |
| 15 | +* **Intel TDX:** Exposes `intel.com/tdx` resource. Requires Intel TDX machines. |
10 | 16 |
|
11 | 17 | ## Prerequisites |
12 | | -* GKE |
| 18 | +* A GKE cluster with node pools configured to support the desired |
| 19 | + Confidential Computing technology (SEV, SEV-SNP, or TDX). This |
| 20 | + includes selecting appropriate machine types and enabling Confidential |
| 21 | + Nodes in the node pool settings. |
| 22 | +* For SEV-SNP, ensure the node pool uses AMD SEV-SNP machine types. |
| 23 | +* For TDX, ensure the node pool uses Intel TDX machine types. |
13 | 24 |
|
14 | 25 | ## Limitations |
15 | | -* This plugin targets Kubernetes v1.18+. |
| 26 | +* This plugin targets Kubernetes v1.18+. |
| 27 | +* Refer to [Confidential VM Supported Configurations](https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations) |
| 28 | + for specific version and region availability. |
| 29 | + |
16 | 30 |
|
17 | 31 | ## Deployment |
18 | | -The device plugin needs to be run on all the nodes that are equipped with Confidential Computing devices (e.g. TPM). The simplest way of doing so is to create a Kubernetes [DaemonSet][dp], which run a copy of a pod on all (or some) Nodes in the cluster. We have a pre-built Docker image on [Google Artifact Registry][release] that you can use for with your DaemonSet. This repository also have a pre-defined yaml file named `cc-device-plugin.yaml`. You can create a DaemonSet in your Kubernetes cluster by running this command: |
| 32 | +The device plugin needs to be run on all the nodes that are equipped with |
| 33 | +Confidential Computing devices. The simplest way to do this is to create a |
| 34 | +Kubernetes [DaemonSet][dp], which runs a copy of a pod on all (or some) Nodes |
| 35 | +in the cluster. |
| 36 | + |
| 37 | +We have a pre-built Docker image on [Google Artifact Registry][release] that |
| 38 | +you can use with your DaemonSet. This repository also has a pre-defined yaml |
| 39 | +file named `cc-device-plugin.yaml`. You can create a DaemonSet in your |
| 40 | +Kubernetes cluster by running this command using a stable version from the |
| 41 | +release repository: |
19 | 42 |
|
20 | 43 | ``` |
21 | 44 | kubectl create -f manifests/cc-device-plugin.yaml |
|
0 commit comments