Configurazione di IMDS per i cluster Kubernetes

Scopri come configurare IMDS per i cluster Kubernetes creati utilizzando Kubernetes Engine (OKE).

Il servizio IMDS (Instance Metadata Service) può fornire informazioni sulle istanze di computazione che ospitano nodi gestiti nei cluster creati con il motore Kubernetes. Il servizio di metadati dell'istanza è disponibile in due versioni, la versione 1 e la versione 2. IMDSv2 offre maggiore sicurezza per le richieste di metadati rispetto a IMDSv1. Per ulteriori informazioni su IMDS, vedere Recupero dei metadati dell'istanza.

L'immagine specificata per un pool di nodi gestiti determina se le istanze di computazione che ospitano nodi gestiti nel pool di nodi dispongono di endpoint IMDSv1 e/o IMDSv2. Se l'immagine supporta sia IMDSv1 che IMDSv2, le richieste sono consentite sia agli endpoint IMDSv1 che a quelli IMDSv2 per impostazione predefinita. Quando IMDSv2 è supportato, si consiglia di aumentare la sicurezza disabilitando le richieste all'endpoint IMDSv1 e di consentire solo le richieste all'endpoint IMDSv2.

Per disabilitare l'endpoint IMDSv1 nelle istanze di computazione che ospitano nodi gestiti quando si creano o si aggiornano pool di nodi che utilizzano immagini che supportano IMDSv1, vedere:

Utilizzo dell'interfaccia CLI per disabilitare l'endpoint IMDSv1 nelle istanze di computazione che ospitano i nodi di lavoro Kubernetes

Per informazioni sull'uso dell'interfaccia CLI, vedere Command Line Interface (CLI). Per un elenco completo dei flag e delle opzioni disponibili per i comandi CLI, vedere il documento Command Line Reference.

Per utilizzare l'interfaccia CLI per disabilitare l'endpoint IMDSv1 nelle istanze di computazione che ospitano nodi di lavoro Kubernetes durante la creazione di un nuovo pool di nodi, specificare "areLegacyImdsEndpointsDisabled" : "true" come valore del parametro --node-metadata quando si utilizza il comando oci ce node-pool create. Ad esempio:

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"}

Per utilizzare l'interfaccia CLI per disabilitare l'endpoint IMDSv1 nelle istanze di computazione che ospitano nuovi nodi gestiti durante l'aggiornamento di un pool di nodi esistente, specificare "areLegacyImdsEndpointsDisabled" : "true" come valore del parametro --node-metadata quando si utilizza il comando oci ce node-pool update. Ad esempio:

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

Dopo aver aggiornato un pool di nodi esistente, l'endpoint IMDSv1 viene disabilitato nelle istanze di computazione che ospitano nuovi nodi gestiti da ora in poi. Tenere tuttavia presente che le istanze di computazione che ospitano già nodi gestiti esistenti non vengono aggiornate e i relativi endpoint IMDSv1 rimangono abilitati.

Importante

Qualsiasi modifica apportata alle proprietà dei nodi di lavoro verrà applicata solo ai nuovi nodi di lavoro. Impossibile modificare le proprietà dei nodi di lavoro esistenti. Se si desidera che le modifiche diventino effettive immediatamente, considerare la possibilità di creare un nuovo pool di nodi con le impostazioni necessarie e spostare il lavoro dal pool di nodi originale al nuovo pool di nodi (vedere Creazione di nodi di lavoro con proprietà aggiornate)

Conferma che l'endpoint IMDSv1 è disabilitato nelle istanze di computazione che ospitano i nodi di lavoro Kubernetes

Per confermare che l'endpoint IMDSv1 è disabilitato in un'istanza di computazione che ospita un nodo di lavoro Kubernetes, effettuare le operazioni riportate di seguito.

  1. Connettersi all'istanza di computazione che ospita il nodo di lavoro utilizzando la shell SSH. Ad esempio, immettendo: ssh opc@192.0.2.254

    Per ulteriori informazioni, vedere Connessione ai nodi gestiti mediante SSH.

  2. Immettere il seguente comando:
    curl -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v1/instance/

    Quando un endpoint IMDSv1 non è disponibile in un'istanza di computazione, viene restituito un errore HTTP 404 Non trovato.