[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-29 UTC。"],[],[],null,["# Run a vTPM in Confidential GKE Nodes workloads\n\n[Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nThis page shows you how to use Virtual Trusted Platform Modules (vTPMs) with\nGoogle Kubernetes Engine (GKE) Standard workloads that run in\nConfidential GKE Nodes. vTPMs provide platform integrity along with\nother security features, such as remote attestation, secret sealing, and random\nnumber generation. On this page, you learn how to install a device plugin and\nmake vTPMs visible to GKE applications.\n\nThis page is intended for Security engineers who want to remotely access the\nsecurity features of vTPMs in GKE applications.\n\nBefore reading this page, ensure that you're familiar with the following\nfeatures:\n\n- [Confidential GKE Nodes](/kubernetes-engine/docs/how-to/confidential-gke-nodes)\n- [Shielded GKE Nodes](/kubernetes-engine/docs/how-to/shielded-gke-nodes)\n\nBefore you begin\n----------------\n\nBefore you start, make sure that you have performed the following tasks:\n\n- Enable the Google Kubernetes Engine API.\n[Enable Google Kubernetes Engine API](https://console.cloud.google.com/flows/enableapi?apiid=container.googleapis.com)\n- If you want to use the Google Cloud CLI for this task, [install](/sdk/docs/install) and then [initialize](/sdk/docs/initializing) the gcloud CLI. If you previously installed the gcloud CLI, get the latest version by running `gcloud components update`. **Note:** For existing gcloud CLI installations, make sure to set the `compute/region` [property](/sdk/docs/properties#setting_properties). If you use primarily zonal clusters, set the `compute/zone` instead. By setting a default location, you can avoid errors in the gcloud CLI like the following: `One of [--zone, --region] must be supplied: Please specify location`. You might need to specify the location in certain commands if the location of your cluster differs from the default that you set.\n\n### Limitations\n\nYou can make vTPMs visible to GKE applications only in\nConfidential GKE Nodes that use AMD SEV as the Confidential Computing\ntechnology. Intel TDX and AMD SEV-SNP aren't supported.\n\nAvailability\n------------\n\nYou can use Confidential GKE Nodes under the following conditions:\n\n- In zones and regions with\n [N2D instances](/compute/docs/general-purpose-machines#n2d_machines) or\n [C2D instances](/compute/docs/compute-optimized-machines#c2d_machine_types)\n available.\n\n- Node images using Container-Optimized OS with containerd ([`cos_containerd`](/kubernetes-engine/docs/concepts/using-containerd)).\n\nCreate a Confidential GKE Nodes cluster\n---------------------------------------\n\nYou can create a new cluster with Confidential GKE Nodes enabled by\nusing the gcloud CLI or the Google Cloud console. If you enable\nConfidential GKE Nodes at cluster level, all the nodes in the cluster\nbecome [Confidential VMs](/confidential-computing/confidential-vm/docs/about-cvm). \n\n### gcloud\n\nCreate a new cluster that uses AMD SEV as the Confidential Computing\ntechnology: \n\n gcloud container clusters create \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --machine-type=\u003cvar translate=\"no\"\u003eMACHINE_TYPE\u003c/var\u003e \\\n --confidential-node-type=SEV\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of your new cluster.\n- \u003cvar translate=\"no\"\u003eMACHINE_TYPE\u003c/var\u003e: the machine type for your cluster's default node pool, which must be either the N2D or C2D machine type.\n\n### Console\n\n1. In the Google Cloud console, go to the **Create a Kubernetes cluster** page.\n\n [Go to Create a Kubernetes cluster](https://console.cloud.google.com/kubernetes/add)\n2. In the navigation menu, under **Cluster** , click **Security**.\n3. Select **Enable Confidential GKE Nodes**.\n4. In the confirmation dialog, click **Make changes**.\n5. In the **Type** menu, select **AMD SEV**.\n6. For configuring other sections of the cluster, follow the instructions in [Creating a regional cluster](/kubernetes-engine/docs/how-to/creating-a-regional-cluster).\n7. Click **Create**.\n\nAfter creating a cluster with Confidential GKE Nodes, any node pools\ncreated in this cluster can only use confidential nodes. You can't create\nregular node pools in clusters with Confidential GKE Nodes enabled. You\nalso can't disable Confidential GKE Nodes on individual node pools\nwhen you enable Confidential GKE Nodes at cluster level.\n\nRun a vTPM in Confidential GKE Nodes workloads\n----------------------------------------------\n\nTo run vTPM in Confidential GKE Nodes workloads, Google provides a\nDaemonSet to apply to the Confidential GKE Nodes clusters. Run the\nfollowing command to deploy the DaemonSet: \n\n kubectl create -f https://raw.githubusercontent.com/google/cc-device-plugin/main/manifests/cc-device-plugin.yaml\n\nConfigure Pods to see the vTPM\n------------------------------\n\nYou use a [resource limit](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to configure Pods to see\nvTPM. Specify the resource limit as 1 in a [Pod specification](https://v1-30.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podspec-v1-core)\nusing the following key-value pair\n\n- Key: `google.com/cc`\n- Value: 1\n\nAn example of a Pod specification that uses vTPM: \n\n apiVersion: v1\n kind: Pod\n metadata:\n name: my-vtpm-pod\n spec:\n containers:\n - name: nginx\n image: nginx\n ports:\n - containerPort: 8080\n name: http\n resources:\n limits:\n google.com/cc: 1\n\nWhat's next\n-----------\n\n- Learn how to [remotely attest that workloads are running on Confidential VM](https://codelabs.developers.google.com/codelabs/vtpm-remote-attestation-and-sealing-on-confidential-gke-nodes)."]]