Configuration d'IMDS pour les clusters Kubernetes

Découvrez comment configurer IMDS pour les clusters Kubernetes que vous avez créés à l'aide de Kubernetes Engine (OKE).

Le service de métadonnées d'instance (IMDS) peut fournir des informations sur les instances de calcul hébergeant des noeuds gérés dans des clusters créés à l'aide de Kubernetes Engine. Le service de métadonnées d'instance est disponible en deux versions : 1 et 2. IMDSv2 offre une sécurité accrue pour les demandes de métadonnées par rapport à IMDSv1. Pour plus d'informations sur IMDS, reportez-vous à Obtention des métadonnées d'instance.

L'image que vous indiquez pour un pool de noeuds gérés détermine si les instances de calcul hébergeant les noeuds gérés dans le pool disposent d'adresses IMDSv1 et/ou IMDSv2. Si l'image prend en charge IMDSv1 et IMDSv2, les demandes sont autorisées à la fois sur les adresses IMDSv1 et IMDSv2 par défaut. Lorsque IMDSv2 est pris en charge, nous vous recommandons vivement d'augmenter la sécurité en désactivant les demandes vers l'adresse IMDSv1 et d'autoriser uniquement les demandes vers l'adresse IMDSv2.

Afin de désactiver l'adresse IMDSv1 sur les instances de calcul hébergeant des noeuds gérés lorsque vous créez ou mettez à jour des pools de noeuds qui utilisent des images prenant en charge IMDSv1, reportez-vous aux sections suivantes :

Utilisation de l'interface de ligne de commande pour désactiver l'adresse IMDSv1 sur les instances de calcul hébergeant des noeuds de processus actif Kubernetes

Pour obtenir des informations sur l'utilisation de l'interface de ligne de commande, reportez-vous à Interface de ligne de commande (CLI). Afin d'obtenir la liste complète des indicateurs et des options disponibles pour les commandes de l'interface de ligne de commande, reportez-vous à Référence de ligne de commande.

Pour utiliser l'interface de ligne de commande afin de désactiver l'adresse IMDSv1 sur les instances de calcul hébergeant des noeuds de processus actif Kubernetes lors de la création d'un pool de noeuds, indiquez "areLegacyImdsEndpointsDisabled" : "true" en tant que valeur du paramètre --node-metadata lors de l'utilisation de la commande oci ce node-pool create. Par exemple :

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

Pour utiliser l'interface de ligne de commande afin de désactiver l'adresse IMDSv1 sur les instances de calcul hébergeant de nouveaux noeuds gérés lors de la mise à jour d'un pool de noeuds existant, indiquez "areLegacyImdsEndpointsDisabled" : "true" en tant que valeur du paramètre --node-metadata lors de l'utilisation de la commande oci ce node-pool update. Par exemple :

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

Une fois le pool de noeuds existant mis à jour, l'adresse IMDSv1 est désactivée sur les instances de calcul hébergeant de nouveaux noeuds gérés à partir de maintenant. Cependant, les instances de calcul hébergeant déjà des noeuds gérés existants ne sont pas mises à jour et leurs adresses IMDSv1 restent activées.

Important

Les modifications apportées aux propriétés des noeuds du processus actif ne s'appliquent qu'aux nouveaux noeuds de processus actif. Vous ne pouvez pas modifier les propriétés des noeuds de processus actifs existants. Si vous souhaitez que les modifications prennent effet immédiatement, envisagez de créer un pool de noeuds avec les paramètres nécessaires et déplacez le travail du pool de noeuds d'origine vers le nouveau pool de noeuds (reportez-vous à Création de noeuds de processus actif avec des propriétés mises à jour).

La confirmation de l'adresse IMDSv1 est désactivée sur les instances de calcul hébergeant des noeuds de processus actif Kubernetes

Pour confirmer que l'adresse IMDSv1 est désactivée sur une instance de calcul hébergeant un noeud de processus actif Kubernetes, procédez comme suit :

  1. Connectez-vous à l'instance de calcul hébergeant le noeud de processus actif à l'aide de SSH. Par exemple, en saisissant : ssh opc@192.0.2.254

    Pour plus d'informations, reportez-vous à Connexion aux noeuds gérés à l'aide de SSH.

  2. Saisissez la commande suivante :
    curl -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v1/instance/

    Lorsqu'une adresse IMDSv1 n'est pas disponible sur une instance de calcul, une erreur HTTP 404 Not Found est renvoyée.