IMDS für Kubernetes-Cluster konfigurieren
Erfahren Sie, wie Sie IMDS für Kubernetes-Cluster konfigurieren, die Sie mit der Kubernetes Engine (OKE) erstellt haben.
Der Instanzmetadatenservice (IMDS) kann Informationen zu Compute-Instanzen bereitstellen, die verwaltete Knoten in Clustern hosten, die Sie mit Kubernetes Engine erstellt haben. Der Instance Metadata Service ist in zwei Versionen verfügbar: Version 1 und Version 2. IMDSv2 bietet im Vergleich zu IMDSv1 eine höhere Sicherheit für Metadatenanforderungen. Weitere Informationen zu IMDS finden Sie unter Instanzmetadaten abrufen.
Das Image, das Sie für einen verwalteten Knotenpool angeben, bestimmt, ob die Compute-Instanzen, die verwaltete Knoten im Knotenpool hosten, Endpunkte IMDSv1 und/oder IMDSv2 aufweisen. Wenn das Image sowohl IMDSv1 als auch IMDSv2 unterstützt, sind Anforderungen standardmäßig an die Endpunkte IMDSv1 und IMDSv2 zulässig. Wenn IMDSv2 unterstützt wird, wird dringend empfohlen, die Sicherheit zu erhöhen, indem Sie Anforderungen an den IMDSv1-Endpunkt deaktivieren und nur Anforderungen an den IMDSv2-Endpunkt zulassen.
Informationen zum Deaktivieren des Endpunkts IMDSv1 auf Compute-Instanzen, die verwaltete Knoten hosten, wenn Sie Knotenpools erstellen oder aktualisieren, die Images verwenden, die IMDSv1 unterstützen, finden Sie unter:
CLI verwenden, um den IMDSv1-Endpunkt auf Compute-Instanzen zu deaktivieren, die Kubernetes-Worker-Knoten hosten
Informationen zur Verwendung der CLI finden Sie unter Befehlszeilenschnittstelle (CLI). Eine vollständige Liste der Flags und Optionen, die für CLI-Befehle verfügbar sind, finden Sie in der Befehlszeilenreferenz.
Um den Endpunkt IMDSv1 auf Compute-Instanzen, die Kubernetes-Worker-Knoten hosten, mit der CLI zu deaktivieren, wenn Sie einen neuen Knotenpool erstellen, geben Sie "areLegacyImdsEndpointsDisabled" : "true"
als Wert des Parameters --node-metadata
an, wenn Sie den Befehl oci ce node-pool create
verwenden. Beispiel:
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"}
Um den Endpunkt IMDSv1 auf Compute-Instanzen, die neue verwaltete Knoten hosten, mit der CLI zu deaktivieren, wenn ein vorhandener Knotenpool aktualisiert wird, geben Sie "areLegacyImdsEndpointsDisabled" : "true"
als Wert des Parameters --node-metadata
an, wenn Sie den Befehl oci ce node-pool update
verwenden. Beispiel:
oci ce node-pool update \
--node-pool-id ocid1.nodepool.oc1.iad.aaaaaaa______eya
--node-metadata={"areLegacyImdsEndpointsDisabled" : "true"}
Nachdem ein vorhandener Knotenpool aktualisiert wurde, ist der Endpunkt IMDSv1 auf Compute-Instanzen deaktiviert, die ab jetzt neue verwaltete Knoten hosten. Beachten Sie jedoch, dass Compute-Instanzen, die bereits vorhandene verwaltete Knoten hosten, nicht aktualisiert werden und ihre IMDSv1-Endpunkte weiterhin aktiviert bleiben.
Änderungen, die Sie an Worker-Knoteneigenschaften ändern, gelten nur für neue Worker-Knoten. Sie können die Eigenschaften vorhandener Worker-Knoten nicht ändern. Wenn die Änderungen sofort wirksam werden sollen, sollten Sie einen neuen Knotenpool mit den erforderlichen Einstellungen erstellen und die Arbeit vom ursprünglichen Knotenpool in den neuen Knotenpool verschieben (siehe Worker-Knoten mit aktualisierten Eigenschaften erstellen).
Bestätigen, dass der IMDSv1-Endpunkt auf Compute-Instanzen deaktiviert ist, die Kubernetes-Worker-Knoten hosten
So bestätigen Sie, dass der Endpunkt IMDSv1 auf einer Compute-Instanz deaktiviert ist, die einen Kubernetes-Worker-Knoten hostet:
- Melden Sie sich mit SSH bei der Compute-Instanz an, die den Worker-Knoten hostet. Beispiel: Geben Sie Folgendes ein:
ssh opc@192.0.2.254
Weitere Informationen finden Sie unter Verbindung zu verwalteten Knoten mit SSH herstellen.
- Geben Sie folgenden Befehl ein:
curl -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v1/instance/
Wenn ein IMDSv1-Endpunkt auf einer Compute-Instanz nicht verfügbar ist, wird der Fehler "HTTP 404 Nicht gefunden" zurückgegeben.