|
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 | +This is a [Kubernetes][k8s] [device plugin][dp] implementation that enables the registration of Confidential Computing devices in a Google Kubernetes Engine (GKE) for compute workload. With the appropriate GKE setup and this plugin deployed in your Kubernetes cluster, you will be able to run jobs (e.g. Attestation) that require Confidential Computing devices. |
| 6 | + |
| 7 | +This plugin supports the following technologies on GKE: |
| 8 | +* **vTPM / AMD SEV:** Exposes `google.com/cc` resource. |
| 9 | +* **AMD SEV-SNP:** Exposes `amd.com/sev-snp` resource. Requires N2D machines with AMD Milan or later. |
| 10 | +* **Intel TDX:** Exposes `intel.com/tdx` resource. Requires C3 machines. |
10 | 11 |
|
11 | 12 | ## Prerequisites |
12 | | -* GKE |
| 13 | +* A GKE cluster with node pools configured to support the desired Confidential Computing technology (SEV, SEV-SNP, or TDX). This includes selecting appropriate machine types and enabling Confidential Nodes in the node pool settings. |
| 14 | +* For SEV-SNP, ensure the N2D node pool uses the "AMD Milan" minimum CPU platform. |
| 15 | +* For TDX, ensure the node pool uses C3 machine types. |
13 | 16 |
|
14 | 17 | ## Limitations |
15 | | -* This plugin targets Kubernetes v1.18+. |
| 18 | +* This plugin targets Kubernetes v1.18+. |
| 19 | +* Refer to [Confidential VM Supported Configurations](https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations) for specific version and region availability. |
| 20 | + |
16 | 21 |
|
17 | 22 | ## 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: |
| 23 | +The device plugin needs to be run on all the nodes that are equipped with Confidential Computing devices. The simplest way to do this is to create a Kubernetes [DaemonSet][dp], which runs a copy of a pod on all (or some) Nodes in the cluster. |
| 24 | + |
| 25 | +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 using a stable version from the release repository: |
19 | 26 |
|
20 | 27 | ``` |
21 | 28 | kubectl create -f manifests/cc-device-plugin.yaml |
|
0 commit comments