Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página explica como habilitar o emulador IMDS, que emula o serviço de metadados de instância da AWS (IMDS). Você pode executar o emulador como um sidecar para habilitar a execução de cargas de trabalho legadas no GKE em pools de nós da AWS. Se você tiver cargas de trabalho legadas que não oferecem suporte direto à Federação de Identidade de Carga de Trabalho para o GKE, use este emulador para acessar os dados do IMDS.
Limitações
Seu cluster deve usar uma versão do Kubernetes 1.24 ou posterior.
O emulador não é compatível com a geração anterior do GKE na AWS.
O servidor emulador IMDS atende apenas solicitações de credenciais ( API_VERSION/meta-data/iam/security-credentials/ ). Todas as outras solicitações de metadados retornam um erro 404.
Uma implantação sidecar requer que o contêiner init tenha os recursos de contexto de segurançaNET_ADMIN e NET_RAW . Se não tiver certeza se o contêiner possui esses contextos, consulte sua equipe de segurança.
O token AWS STS pode durar uma hora. O token de função dos metadados do EC2 pode durar 24 horas. Isso não deve afetar o uso do emulador, mas talvez você precise dessas informações durante uma auditoria de segurança.
O emulador IMDS emula apenas respostas IMDSv1. IMDSv2 não é suportado.
Habilitar o emulador
Para habilitar o emulador IMDS, adicione um rótulo e uma anotação aos metadados de um Pod. Você também pode habilitar o emulador usando uma Implantação, um DaemonSet ou qualquer outro recurso que crie Pods:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-06-12 UTC."],[],[],null,["# Enable the IMDS emulator\n\nThis page explains how you can enable the IMDS emulator, which emulates the AWS\ninstance metadata service (IMDS). You can run the\nemulator as a sidecar to enable legacy workloads to run in\nGKE on AWS node pools. If you have legacy workloads that don't\nsupport Workload Identity Federation for GKE directly, use this emulator to access IMDS data.\n\nLimitations\n-----------\n\n- Your cluster must use a Kubernetes version of 1.24 or later.\n- The emulator is not supported in the [previous generation](/kubernetes-engine/multi-cloud/docs/aws/previous-generation) of GKE on AWS.\n- The IMDS emulator server only serves credential requests (`API_VERSION/meta-data/iam/security-credentials/`). All other metadata requests return a 404 error.\n- A sidecar deployment requires the init container to have the `NET_ADMIN` and `NET_RAW` [security context capacities](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). If you're not sure if the container has these contexts, consult your security team.\n- The AWS STS token can last for one hour. The role token from EC2 metadata can last for 24 hours. This shouldn't affect your usage of the emulator, but you might need to know this information during a security audit.\n- The IMDS emulator only emulates IMDSv1 responses. IMDSv2 is not supported.\n\nEnable the emulator\n-------------------\n\nTo enable the IMDS emulator, add a label and an annotation to metadata for a\nPod. You can also enable the emulator using a Deployment, DaemonSet, or any\nother resource that creates Pods:\n\n1. Add the following label and value to your Pod:\n\n gkemulticloud.googleapis.com/aws-imds-emulator-enabled: \"True\"\n\n The only acceptable value for this label is `True`. All other values\n (including `true` with a lowercase `t`) disable the emulator.\n2. Add the following annotation to your Pod:\n\n gkemulticloud.googleapis.com/aws-imds-emulator-role-arn: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eARN_ROLE\u003c/span\u003e\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eARN_ROLE\u003c/var\u003e with an Amazon Resource Name\n (ARN) that specifies the role that you want the resource to have.\n\n### Example\n\nThe following example is a Pod with the IMDS emulator enabled: \n\n apiVersion: v1\n kind: Pod\n metadata:\n name: nginx\n labels:\n gkemulticloud.googleapis.com/aws-imds-emulator-enabled: \"True\"\n annotations:\n gkemulticloud.googleapis.com/aws-imds-emulator-role-arn: \"arn:aws:iam::123456789012:role/my-example-role\"\n spec:\n serviceAccountName: my-sa\n containers:\n - name: nginx\n image: nginx"]]