Configurando o IMDS para Clusters do Kubernetes

Descubra como configurar o IMDS para clusters do Kubernetes que você criou usando o Kubernetes Engine (OKE).

O serviço de metadados da instância (IMDS) pode fornecer informações sobre instâncias de computação que hospedam nós gerenciados em clusters que você criou usando o Kubernetes Engine. O serviço de metadados da instância está disponível nas versões 1 e 2. IMDSv2 oferece maior segurança para solicitações de metadados quando comparado com IMDSv1. Para obter mais informações sobre o IMDS, consulte Getting Instance Metadata.

A imagem especificada para um pool de nós gerenciados determina se as instâncias de computação que hospedam nós gerenciados no pool de nós têm pontos finais IMDSv1 e/ou IMDSv2. Se a imagem suportar IMDSv1 e IMDSv2, as solicitações serão permitidas para os pontos finais IMDSv1 e IMDSv2 por padrão. Em que o IMDSv2 é suportado, recomendamos que você aumente a segurança desativando solicitações para o ponto final IMDSv1 e só permita solicitações para o ponto final IMDSv2.

Para desativar o ponto final IMDSv1 nas instâncias de computação que hospedam nós gerenciados quando você cria ou atualiza pools de nós que usam imagens que suportam IMDSv1, consulte:

Usando a CLI para desativar o ponto final IMDSv1 nas instâncias de computação que hospedam nós de trabalho do Kubernetes

Para obter informações sobre como usar a CLI, consulte Interface de Linha de Comando (CLI). Para obter uma lista completa de flags e opções disponíveis para comandos da CLI, consulte a Referência da Linha de Comando.

Para usar a CLI para desativar o ponto final IMDSv1 nas instâncias de computação que hospedam nós de trabalho do Kubernetes ao criar um novo pool de nós, especifique "areLegacyImdsEndpointsDisabled" : "true" como um valor do parâmetro --node-metadata ao usar o comando oci ce node-pool create. Por exemplo:

oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaa______m4w \
--name my-idmsv2-only-nodepool \
--node-image-id ocid1.image.oc1.iad.aaaa______zpq \
--compartment-id ocid1.tenancy.oc1..aaa______q4a \
--kubernetes-version v1.24.1 \
--node-shape VM.Standard2.1 \
--placement-configs "[   { \"availabilityDomain\": \"PKGK:US-ASHBURN-AD-1\", \"subnetId\": \"ocid1.subnet.oc1.iad.aaaa______kfa\"   }   ]" \
--size 1 \
--region=us-ashburn-1 \
--node-metadata={"areLegacyImdsEndpointsDisabled" : "true"}

Para usar a CLI para desativar o ponto final IMDSv1 nas instâncias de computação que hospedam novos nós gerenciados ao atualizar um pool de nós existente, especifique "areLegacyImdsEndpointsDisabled" : "true" como um valor do parâmetro --node-metadata ao usar o comando oci ce node-pool update. Por exemplo:

oci ce node-pool update \
--node-pool-id ocid1.nodepool.oc1.iad.aaaaaaa______eya
--node-metadata={"areLegacyImdsEndpointsDisabled" : "true"}

Após a atualização de um pool de nós existente, o ponto final IMDSv1 é desativado nas instâncias de computação que hospedam novos nós gerenciados a partir de agora. No entanto, observe que as instâncias de computação que já hospedam nós gerenciados existentes não são atualizadas e seus pontos finais IMDSv1 permanecem ativados.

Importante

Quaisquer alterações feitas nas propriedades do nó de trabalho só serão aplicadas a novos nós de trabalho. Você não pode alterar as propriedades dos nós de trabalho existentes. Se quiser que as alterações entrem em vigor imediatamente, considere criar um novo pool de nós com as definições necessárias e mudar o trabalho do pool de nós original para o novo pool de nós (consulte Criando Nós de Trabalho com Propriedades Atualizadas)

A confirmação de que o ponto final IMDSv1 está desativado nas instâncias de computação que hospedam nós de trabalho do Kubernetes

Para confirmar se o ponto final IMDSv1 está desativado em uma instância de computação que hospeda um nó de trabalho do Kubernetes:

  1. Conecte-se à instância de computação que hospeda o nó de trabalho usando SSH. Por exemplo, digitando: ssh opc@192.0.2.254

    Para obter mais informações, consulte Estabelecendo Conexão com Nós Gerenciados Usando SSH.

  2. Informe o seguinte comando:
    curl -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v1/instance/

    Quando um ponto final IMDSv1 não está disponível em uma instância de computação, um erro HTTP 404 Not Found é retornado.