In VCN-native Cluster migrieren

Erfahren Sie, wie Sie ein Cluster mit der Kubernetes Engine (OKE) migrieren, um seinen Kubernetes-API-Endpunkt in Ihr eigenes VCN zu integrieren.

In früheren Releases (vor dem 16. März 2021) hat Kubernetes Engine Cluster mit Kubernetes-API-Endpunkten bereitgestellt, die nicht in Ihr eigenes VCN integriert waren. Der Kubernetes-API-Endpunkt war öffentlich, und Sie konnten den Zugriff darauf nicht einschränken. Sie können solche Cluster weiterhin mit der CLI oder der API erstellen, jedoch nicht mit der Konsole.

Nach dem 16. März 2021 kann die Kubernetes-Engine Cluster mit ihren Kubernetes-API-Endpunkten in einem Subnetz in Ihrem eigenen VCN bereitstellen (diese Cluster werden als "VCN-native Cluster" bezeichnet). Sie können VCN-native Cluster flexibler konfigurieren, um Ihre eigenen Sicherheits- und Netzwerkanforderungen zu erfüllen. Sie können den Kubernetes-API-Endpunkt so konfigurieren, dass er in Ihrem VCN (und einem Peer-On-Premise-Netzwerk) privat zugänglich ist, oder dass er öffentlich über das Internet zugänglich ist:

  • Um den Kubernetes-API-Endpunkt privat zugänglich zu machen, hosten Sie den Kubernetes-API-Endpunkt in einem privaten Subnetz, und weisen Sie ihm keine öffentliche IP-Adresse zu.
  • Um den Kubernetes-API-Endpunkt öffentlich über das Internet zugänglich zu machen, hosten Sie den Kubernetes-API-Endpunkt in einem öffentlichen Subnetz, und weisen Sie ihm eine öffentliche IP-Adresse zu.

Der Zugriff auf das Kubernetes-API-Subnetz kann mit Sicherheitsregeln kontrolliert werden, die für Netzwerksicherheitsgruppen (empfohlen) oder Sicherheitslisten definiert sind.

Um die Sicherheitskontrolle zu nutzen, die von VCN-nativen Clustern angeboten wird, können Sie ein vorhandenes Cluster migrieren, um seinen Kubernetes-API-Endpunkt in Ihr eigenes VCN zu integrieren.

Die Clustermigration umfasst die folgenden Phasen:

  • Stufe 1: Migration wird ausgeführt

    Sie starten die Migration, indem Sie das zu migrierende Cluster auswählen und dann das vorhandene VCN und das private oder öffentliche Subnetz angeben, in dem der neue Kubernetes-API-Endpunkt gehostet werden soll. Die Migration dauert in der Regel etwa 15 Minuten.

    Während dieser Zeit ist die Kubernetes-API weiterhin über den öffentlichen Endpunkt zugänglich, der nicht in Ihr eigenes VCN integriert ist. Clusterlebenszyklusvorgänge (wie Clusterupdates, Erstellen und Löschen von Knotenpools) sind jedoch nicht verfügbar.

  • Stufe 2: Migration ist abgeschlossen, und es steht eine Außerbetriebnahme des öffentlichen Kubernetes-API-Endpunkts aus, der nicht in Ihr eigenes VCN integriert ist

    Nach Abschluss der Migration kann über den neuen Kubernetes-API-Endpunkt in Ihrem eigenen VCN sowie über den öffentlichen Kubernetes-API-Endpunkt, der nicht in Ihr VCN integriert ist, auf das Cluster zugegriffen werden. Während dieser Außerbetriebnahmeperiode aktualisieren Sie die Konfiguration Ihrer kubectl-, Tools- und CI/CD-Pipelines, um den neuen Kubernetes-API-Endpunkt zu verwenden. Standardmäßig haben Sie 30 Tage Zeit, um die Updates abzuschließen. Sie können die Außerbetriebnahmezeit jedoch auf nur 5 Tage reduzieren oder auf mehr als 30 Tage erhöhen. Erstellen Sie ein Supportticket, wenn Sie die Zeit verkürzen oder verlängern möchten, bevor der öffentliche Kubernetes-API-Endpunkt, der nicht in Ihr eigenes VCN integriert ist, außer Betrieb genommen wird.

  • Stufe 3: Der öffentliche Kubernetes-API-Endpunkt, der nicht in Ihr eigenes VCN integriert ist, wird außer Betrieb gesetzt

    Am Ende des Außerbetriebnahmezeitraums (30 Tage nach der Migration oder der von Ihnen angeforderten Zeit) ist das Cluster nicht mehr über den öffentlichen Kubernetes-API-Endpunkt zugänglich, der nicht in Ihr VCN integriert ist. Auf das Cluster kann nur über den neuen, in Ihr VCN integrierten Kubernetes-API-Endpunkt zugegriffen werden.

Vorhandenes Cluster zu VCN-nativ migrieren

So migrieren Sie ein vorhandenes Cluster, um den zugehörigen Kubernetes-API-Endpunkt in Ihr eigenes VCN zu integrieren:

  1. Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Container und Artefakte die Option Kubernetes-Cluster (OKE) aus.
  2. Wählen Sie ein Compartment aus, für das Sie eine Berechtigung besitzen.

    Migration erforderlich-Labels werden auf der Seite Clusterliste neben den Namen von Clustern mit Kubernetes-API-Endpunkten angezeigt, die nicht in Ihr VCN integriert sind.

  3. Wählen Sie auf der Seite Clusterliste den Namen des Clusters aus, das Sie migrieren möchten.

    Wenn Sie ein Cluster auswählen, das Sie migrieren können, wird die Schaltfläche Cluster migrieren oben auf der Seite Clusterdetails angezeigt.

  4. Wenn der Kubernetes-API-Endpunkt des Clusters öffentlich über das Internet zugänglich sein und in einem neuen öffentlichen Subnetz im selben VCN wie das Cluster gehostet werden soll (neue Netzwerkressourcen nach Bedarf erstellen und konfigurieren), führen Sie eine automatische Migration wie folgt aus:
    1. Wählen Sie oben auf der Seite Clusterdetails die Option Cluster migrieren aus, um den Kubernetes-API-Endpunkt des Clusters in Ihr eigenes VCN zu integrieren.
    2. Wählen Sie im Dialogfeld In VCN-natives Cluster migrieren die Option Automatische Migration aus, um ein neues regionales Subnetz im VCN des Clusters mit einem 10.0.0.0/28-CIDR-Block sowie Sicherheitslisten und Routentabellen zu erstellen.
    3. Wählen Sie Workflow starten aus, und prüfen Sie die Migrationsübersicht im Dialogfeld Clustermigration für VCN-nativen Endpunkt.
    4. Wählen Sie Migrieren aus, um neue Netzwerkressourcen zu erstellen und das Cluster zu migrieren.

      Kubernetes Engine beginnt mit der Migration des Clusters, wie im Dialogfeld Cluster migrieren dargestellt.

    5. Wählen Sie Schließen, um das Dialogfeld Cluster migrieren zu schließen.
  5. Wenn der Kubernetes-API-Endpunkt des Clusters privat innerhalb Ihres VCN oder öffentlich über das Internet zugänglich sein und in einem vorhandenen regionalen öffentlichen oder privaten Subnetz im selben VCN wie das Cluster gehostet werden soll, führen Sie eine benutzerdefinierte Migration wie folgt aus:
    1. Stellen Sie sicher, dass die folgenden Netzwerkressourcen bereits im VCN vorhanden sind und korrekt für das Hosten des Kubernetes-API-Endpunkts konfiguriert sind (wenn nicht, erstellen und konfigurieren Sie sie entsprechend):

      Beispielkonfigurationen finden Sie unter Beispielkonfigurationen für Netzwerkressourcen.

    2. Wählen Sie oben auf der Seite Clusterdetails die Option Cluster migrieren aus, um den Kubernetes-API-Endpunkt des Clusters in Ihr eigenes VCN zu integrieren.
    3. Wählen Sie im Dialogfeld In VCN-natives Cluster migrieren die Option Benutzerdefinierte Migration aus.
    4. Wählen Sie Workflow starten aus, und geben Sie Folgendes an:
      • Kubernetes-API-Endpunktsubnetz: Ein regionales Subnetz zum Hosten des Kubernetes-API-Endpunkts des Clusters. Das angegebene Subnetz kann öffentlich oder privat sein. Dem Kubernetes-API-Endpunkt wird immer eine private IP-Adresse zugewiesen. Wenn Sie ein öffentliches Subnetz angeben, können Sie den Kubernetes-API-Endpunkt optional dem Internet bereitstellen, indem Sie dem Endpunkt (sowie der privaten IP-Adresse) eine öffentliche IP-Adresse zuweisen. Um die Zugriffsverwaltung zu vereinfachen, empfiehlt Oracle, dass sich der Kubernetes-API-Endpunkt in einem anderen Subnetz als Worker-Knoten und Load Balancer befindet. Weitere Informationen finden Sie unter Kubernetes-Cluster-Control-Plane und Kubernetes-API.
      • Netzwerksicherheitsgruppen zur Steuerung des Traffics verwenden: Beschränken Sie den Zugriff auf den Kubernetes-API-Endpunkt des Clusters mit einer oder mehreren von Ihnen angegebene Netzwerksicherheitsgruppen (NSGs). Weitere Informationen zu den für die NSG anzugebenden Sicherheitsregeln finden Sie unter Sicherheitsregeln für den Kubernetes-API-Endpunkt.
      • Öffentliche IP-Adresse dem API-Endpunkt zuweisen: Wenn Sie ein öffentliches Subnetz für den Kubernetes-API-Endpunkt ausgewählt haben, können Sie den Endpunkt optional dem Internet bereitstellen, indem Sie dem Endpunkt (sowie der privaten IP-Adresse) eine öffentliche IP-Adresse zuweisen. Wenn Sie keine öffentliche IP-Adresse zuweisen, aktualisieren Sie Routingregeln und Sicherheitsregeln, um den Zugriff auf den Endpunkt über ein Servicegateway und ein NAT-Gateway zu ermöglichen (siehe Kubernetes-API-Endpunktsubnetzkonfiguration).
    5. Wählen Sie Migrieren aus, um neue Netzwerkressourcen zu erstellen und das Cluster zu migrieren.

      Die Kubernetes-Engine startet die Migration des Clusters.

Die Migration dauert in der Regel etwa 15 Minuten. Während dieser Zeit ist die Kubernetes-API weiterhin über den öffentlichen Endpunkt zugänglich, der nicht in Ihr eigenes VCN integriert ist. Clusterlebenszyklusvorgänge (wie Clusterupdates, Erstellen und Löschen von Knotenpools) sind jedoch nicht verfügbar.

Wenn die Migration abgeschlossen ist, werden auf der Seite Clusterdetails der Name des Kubernetes-API-Endpunktsubnetzes, die IP-Adresse des privaten Kubernetes-API-Endpunkts und (wenn Sie dem Kubernetes-API-Endpunkt eine öffentliche IP-Adresse zugewiesen haben) die IP-Adresse des öffentlichen Kubernetes-API-Endpunkts angezeigt.

Die Seite Clusterdetails gibt außerdem an, dass Sie 30 Tage Zeit haben, die Konfiguration Ihrer kubectl-, Tools- und CI/CD-Pipelines zu aktualisieren, um auf den neuen Kubernetes-API-Endpunkt zuzugreifen (siehe Zugriff auf ein migriertes Cluster einrichten). Während dieses Außerbetriebnahmezeitraums ist das neu migrierte Cluster sowohl über den neuen Kubernetes-API-Endpunkt in Ihrem VCN als auch über den öffentlichen Kubernetes-API-Endpunkt zugänglich, der nicht in Ihr eigenes VCN integriert ist.

Zugriff auf ein migriertes Cluster einrichten

Nachdem Sie ein Cluster migriert haben, um seinen Kubernetes-API-Endpunkt in Ihr eigenes VCN zu integrieren, müssen Sie die Konfiguration Ihrer kubectl-, Tools- und CI/CD-Pipelines aktualisieren, um den neuen Kubernetes-API-Endpunkt zu verwenden. Sie müssen mindestens die Kubernetes-Konfigurationsdatei des Clusters (allgemein als "kubeconfig"-Datei bezeichnet) aktualisieren, um den Zugriff auf das migrierte Cluster mit kubectl zu ermöglichen, wie in diesem Thema beschrieben. Sie müssen auch alle Manifestdateien aktualisieren, die Referenzen auf die IP-Adresse des Kubernetes-API-Endpunkts des Clusters enthalten.

Befolgen Sie die Anweisungen in diesem Thema, um eine neue kubeconfig-Datei zu generieren. Bei diesen Anweisungen wird davon ausgegangen, dass die kubeconfig-Datei des Clusters im Standardspeicherort ($HOME/.kube) und mit dem Standardnamen (config) gespeichert wird. Ist dies nicht der Fall, passen Sie die Anweisungen entsprechend an.

  1. Führen Sie im Terminalfenster, in dem Sie normalerweise Oracle Cloud Infrastructure-CLI-Befehle ausführen, den folgenden Befehl aus, um die vorhandene kubeconfig-Datei des Clusters zu aktualisieren:

    oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --file <kubeconfig-file-location> --region <region-name> --token-version 2.0.0 --kube-endpoint PRIVATE_ENDPOINT|PUBLIC_ENDPOINT

    Hierbei gilt:

    • --cluster-id <cluster-ocid> ist die OCID des vorhandenen Clusters, das Sie als VCN-nativ festlegen möchten.
    • --file <kubeconfig-file-location> ist der Speicherort der kubeconfig-Datei des Clusters.
    • --region <region-name> ist die Region, in der sich das Cluster befindet.
    • --kube-endpoint PRIVATE_ENDPOINT|PUBLIC_ENDPOINT gibt an, ob die private IP-Adresse oder die öffentliche IP-Adresse des Kubernetes-API-Endpunkts des Clusters zur kubeconfig-Datei hinzugefügt werden soll. Weitere Informationen finden Sie unter Kubernetes-Cluster-Control-Plane und Kubernetes-API.

    Beispiel:

    oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaaae... --file $HOME/.kube/config --region us-phoenix-1 --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINT

    Wenn die kubeconfig-Datei bereits in dem von Ihnen angegebenen Verzeichnis vorhanden ist, werden Details über das Cluster als neuer Kontext zu der vorhandenen kubeconfig-Datei hinzugefügt, einschließlich des neuen Kubernetes-API-Endpunkts des Clusters in Ihrem eigenen VCN. Das Element current-context: in der kubeconfig-Datei ist so eingestellt, dass es auf den neu hinzugefügtem Kontext verweist.

    Weitere Informationen zum Einrichten der kubeconfig-Datei finden Sie unter Clusterzugriff einrichten.

  2. Stellen Sie sicher, dass kubectl mit dem Kubernetes-API-Endpunkt in Ihrem eigenen VCN eine Verbindung zum Cluster herstellen kann, indem Sie den folgenden Befehl eingeben:

    kubectl get nodes

    Es werden Informationen über die Knoten im Cluster angezeigt.

    Sie können jetzt mit kubectl Vorgänge im Cluster mit dem Kubernetes-API-Endpunkt in Ihrem eigenen VCN ausführen.

Hinweis

Bis der ursprüngliche API-Endpunkt, der nicht in Ihr VCN integriert ist, außer Betrieb genommen wird, können Sie die ursprüngliche kubeconfig-Datei weiterhin generieren, indem Sie die Option --kube-endpoint aus dem Befehl oci ce cluster create-kubeconfig weglassen.

Häufig gestellte Fragen zur Clustermigration

Was sind VCN-native Cluster?

Kubernetes Engine erstellt Kubernetes-Cluster, die vollständig in Ihr virtuelles VCN (Oracle Cloud Infrastructure) integriert sind. Worker-Knoten, Load Balancer und der Kubernetes-API-Endpunkt sind Teil Ihres eigenen VCN und können als öffentlich oder privat konfiguriert werden. Solche Cluster, die vollständig in das eigene VCN integriert sind, werden als "VCN-native Cluster" bezeichnet.

Wie kann ich feststellen, ob ein Cluster bereits ein VCN-natives Cluster ist?

Wenn Sie nicht sicher sind, ob ein Cluster bereits ein VCN-natives Cluster ist, zeigen Sie Informationen zum Cluster an (z.B. auf der Seite Clusterdetails in der Konsole). Wenn das Cluster bereits ein VCN-natives Cluster ist, enthalten die Clusterdetails Informationen zum Kubernetes-API-Endpunkt. Wenn das Cluster noch kein VCN-natives Cluster ist, enthalten die Clusterdetails einfach die Kubernetes-Adresse.

Muss ich alle meine vorhandenen Cluster migrieren?

Nein, Sie müssen nur vorhandene Cluster migrieren, die Sie in VCN-native Cluster umwandeln möchten. Wenn Sie den Kubernetes-API-Endpunkt eines Clusters nicht in Ihr eigenes VCN integrieren möchten, migrieren Sie dieses Cluster einfach nicht.

Beinhaltet die Migration Ausfallzeiten?

Während ein Cluster in ein VCN-natives Cluster migriert wird, ist die Kubernetes-API des Clusters weiterhin über den öffentlichen Endpunkt zugänglich, der nicht in Ihr eigenes VCN integriert ist. Clusterlebenszyklusvorgänge (wie Clusterupdates, Erstellen und Löschen von Knotenpools) sind jedoch nicht verfügbar.

Soll ich automatische Migration oder benutzerdefinierte Migration wählen?

Bei der automatischen Migration wird ein regionales Subnetz im VCN des Clusters mit einem 10.0.0.0/28-CIDR-Block zusammen mit Sicherheitslisten und Routentabellen erstellt. Das Subnetz ist öffentlich, und dem API-Endpunkt wird eine öffentliche IP-Adresse zugewiesen. Die automatische Migration unterstützt nur Cluster mit Knotenpools im selben Compartment wie das Cluster. Führen Sie für Cluster mit Knotenpools in verschiedenen Compartments eine benutzerdefinierte Migration aus.

Mit der benutzerdefinierten Migration können Sie ein vorhandenes öffentliches oder privates regionales Subnetz auswählen, in dem der Kubernetes-API-Endpunkt des Clusters gehostet wird. Wenn Sie ein öffentliches regionales Subnetz auswählen, können Sie den Kubernetes-API-Endpunkt optional dem Internet bereitstellen, indem Sie dem Endpunkt eine öffentliche IP-Adresse zuweisen. Sie können optional Netzwerksicherheitsgruppen verwenden.

Wie konfiguriere ich ein Subnetz in meinem VCN zum Hosten des Kubernetes-API-Endpunkts?

Weitere Informationen zum Konfigurieren des Kubernetes-API-Endpunktsubnetzes, der Sicherheitslisten und der Routentabelle finden Sie unter Netzwerkressourcenkonfiguration für Clustererstellung und -Deployment.

Ich möchte die Migration in ein VCN-natives Cluster testen. Wie kann ich ein Cluster mit einem Kubernetes-API-Endpunkt erstellen, der nicht in mein VCN integriert ist?

Führen Sie im Terminalfenster, in dem Sie normalerweise Oracle Cloud Infrastructure-CLI-Befehle ausführen, den folgenden Befehl aus, um ein Testcluster mit einem Kubernetes-API-Endpunkt zu erstellen, der nicht in Ihr VCN integriert ist:

oci ce cluster create --compartment-id <compartment-ocid> --kubernetes-version v<kubernetes-version-number> --name <cluster-name> --vcn-id <vcn-ocid>

Hierbei gilt:

  • --compartment-id <compartment-ocid> ist die OCID des Compartments, zu dem das Testcluster gehören soll.
  • --kubernetes-version v<kubernetes-version-number> ist eine unterstützte Version von Kubernetes (siehe Aktuell unterstützte Kubernetes-Versionen). Beispiel: --kubernetes-version v1.19.7
  • --name <cluster-name> ist ein Name Ihrer Wahl für das Testcluster. Beispiel: --name test-vcn-native-migration
  • --vcn-id <vcn-ocid> ist die OCID des VCN, in dem das Testcluster erstellt werden soll.

Nachdem Sie ein Testcluster mit einem Kubernetes-API-Endpunkt erstellt haben, der nicht in Ihr VCN integriert ist, können Sie das Testcluster jetzt migrieren, um es zu einem VCN-nativen Cluster zu machen. Siehe Vorhandenes Cluster zu VCN-nativ migrieren.

Denken Sie daran, das Testcluster zu löschen, wenn Sie es nicht mehr benötigen.

Wie kann ich die Zeit bis zur Außerbetriebnahme des öffentlichen Kubernetes-API-Endpunkts, der nicht in mein eigenes VCN integriert ist, verlängern oder verkürzen?

Der Außerbetriebnahmezeitraum gibt an, wie lange ein neu migriertes Cluster über den neuen Kubernetes-API-Endpunkt in Ihrem eigenen VCN und über den öffentlichen API-Endpunkt, der nicht in Ihr VCN integriert war, zugänglich ist. Der Außerbetriebnahmezeitraum stellt sicher, dass keine Ausfallzeiten auftreten, während Sie die Konfiguration Ihrer kubectl-, Tools- und CI/CD-Pipelines aktualisieren, um den neuen Kubernetes-API-Endpunkt zu verwenden.

Der Außerbetriebnahmezeitraum beginnt, sobald Kubernetes Engine das Cluster migriert hat, um seinen Kubernetes-API-Endpunkt in Ihr eigenes VCN zu integrieren. Standardmäßig haben Sie 30 Tage Zeit, um die Updates abzuschließen. Sie können die Außerbetriebnahmezeit jedoch auf nur 5 Tage reduzieren oder auf mehr als 30 Tage erhöhen. Erstellen Sie ein Supportticket, wenn Sie die Außerbetriebnahmeperiode verkürzen oder verlängern möchten, und geben Sie Folgendes an:

  • Zusammenfassung: Request to modify Reclamation Extension in <region-name>
  • Region: <region-name>
  • Komponente: Control Plane
  • Details: Nehmen Sie Folgendes auf:
    • Tenancy: <tenancy-name>
    • Tenancy Id: <tenancy-ocid>
    • Cluster: <cluster-name>
    • Cluster Id: <cluster-ocid>
    • Requested expiration date/time: <date-and-time>