Kurzanleitung

In dieser Kurzanleitung erstellen Sie eine einfache virtuelle Maschine (VM) in Compute Engine und migrieren die VM dann mit Migrate for Anthos zu GKE.

Vorbereitung

Unterstützung für Compute Engine aktivieren

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, registrieren Sie sich hier für ein neues Konto.

  2. Wählen Sie in der Cloud Console auf der Projektauswahlseite ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die Compute Engine API.

    API aktivieren

GKE aktivieren und konfigurieren

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

Mit den folgenden Methoden können Sie die gcloud-Einstellungen festlegen:

  • Verwenden Sie gcloud init, wenn Sie die Standardeinstellungen ansehen möchten.
  • Verwenden Sie gcloud config, um Ihre Projekt-ID, Zone und Region individuell festzulegen.

gcloud init verwenden

  1. Führen Sie gcloud init aus und folgen Sie der Anleitung:

    gcloud init

    Wenn Sie SSH auf einem Remote-Server verwenden, können Sie mit dem Flag --console-only verhindern, dass mit dem Befehl ein Browserfenster geöffnet wird:

    gcloud init --console-only
  2. Folgen Sie der Anleitung, um gcloud für die Verwendung Ihres Google Cloud-Kontos zu autorisieren.
  3. Erstellen Sie eine neue Konfiguration oder wählen Sie eine vorhandene aus.
  4. Wählen Sie ein Google Cloud-Projekt aus.
  5. Wählen Sie eine Compute Engine-Standardzone aus.

gcloud config verwenden

  • Geben Sie Ihre standardmäßige Projekt-ID an:
    gcloud config set project project-id
  • Wenn Sie mit zonalen Clustern arbeiten, legen Sie die Standardzone für Compute Engine fest:
    gcloud config set compute/zone compute-zone
  • Wenn Sie mit regionalen Clustern arbeiten, legen Sie die Standardregion für Compute Engine fest:
    gcloud config set compute/region compute-region
  • Aktualisieren Sie gcloud auf die neueste Version:
    gcloud components update

VM mit einem Webserver erstellen

In den folgenden Schritten erstellen Sie eine einfache Compute Engine-VM, die die Webseite "Hello World!" bereitstellt. Die Seite können Sie nach der Migration für Tests heranziehen.

  1. Führen Sie den folgenden Befehl aus, um die zu migrierende VM-Instanz zu erstellen.

    Geben Sie eine Zone an. In dieser Zone werden Sie später in dieser Anleitung eine GKE erstellen.

    gcloud beta compute  --project=project-id instances create \
      quickstart-instance  --zone=zone --machine-type=n1-standard-1 \
      --subnet=default --scopes="cloud-platform" \
      --tags=http-server,https-server --image=ubuntu-minimal-1604-xenial-v20200317 \
      --image-project=ubuntu-os-cloud --boot-disk-size=10GB --boot-disk-type=pd-standard \
      --boot-disk-device-name=quickstart-instance
    
  2. Führen Sie den folgenden Befehl aus, um eine Firewallregel zu erstellen, die Anfragen an die Instanz über HTTP zulässt.

    gcloud compute --project=project-id firewall-rules create default-allow-http \
      --direction=INGRESS --priority=1000 --network=default --action=ALLOW \
      --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server
    
  3. Öffnen Sie in der Google Cloud Console die Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  4. Klicken Sie in der Liste der VM-Instanzen in der Zeile der gerade erstellten Instanz auf SSH.

    Weitere Informationen zum Herstellen einer Verbindung über SSH finden Sie unter Verbindung zu Instanzen herstellen.

  5. Verwenden Sie im Befehlsfenster von "quickstart-instance" den Paketmanager, um das Paket apache2 zu installieren.

    sudo apt-get update && sudo apt-get install apache2 -y
    

    Nach der Installation von Apache startet das Betriebssystem den Apache-Server automatisch.

  6. Überschreiben Sie im selben Befehlsfenster die Standardwebseite des Apache-Webservers mit dem folgenden Befehl:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    
  7. Suchen Sie auf der Seite VM-Instanzen nach der Zeile für die von Ihnen erstellte Instanz und kopieren Sie die externe IP-Adresse.

  8. Fügen Sie die IP-Adresse der Instanz in die Adressleiste des Browsers ein. Stellen Sie ihr das Präfix http:// voran.

    Jetzt sollten Sie die Seite "Hello World!" sehen.

  9. Klicken Sie auf der Seite VM-Instanzen auf das Kästchen am linken Ende der Zeile für die von Ihnen erstellte Instanz.

  10. Klicken Sie oben auf der Seite auf die Schaltfläche Beenden, um die VM zu beenden.

Verarbeitungscluster erstellen und Migrate for Anthos installieren

Mit den folgenden Schritten erstellen Sie einen GKE-Cluster, den Sie als Verarbeitungscluster verwenden. In diesem Cluster wird Migrate for Anthos installiert und die Migration ausgeführt.

  1. Erstellen Sie in Cloud Shell mit dem folgenden Befehl einen neuen Kubernetes-Cluster, der als Verarbeitungscluster verwendet werden soll.

    Achten Sie bei der Angabe des Werts für machine-type darauf, einen Maschinentyp mit mindestens 15 GB Arbeitsspeicher festzulegen.

    gcloud container clusters create migration-processing --scopes="cloud-platform" \
      --project=project-id --zone=zone --machine-type n1-standard-4 \
      --image-type ubuntu --num-nodes 1 --enable-stackdriver-kubernetes \
      --subnetwork "projects/project-id/regions/region/subnetworks/default"
    
  2. Als Nächstes erstellen Sie die Clusterverbindung.

    gcloud container clusters get-credentials migration-processing \
      --zone zone --project project-id
    
  3. Richten Sie Migrate for Anthos-Komponenten auf Ihrem Verarbeitungscluster ein.

    migctl setup install
    
  4. Prüfen Sie die Migration for Anthos-Installation.

    Bestätigen Sie mit dem Befehl migctl doctor, dass die Bereitstellung erfolgreich war.

    migctl doctor
    

    Es kann mehr als eine Minute dauern, bis der Befehl das folgende Erfolgsergebnis zurückgibt.

    [✓] Deployment
    

VM migrieren

Mit den folgenden Schritten erstellen Sie einen Migrationsplan mit Migrationsdetails und verwenden ihn dann für die Migration der VM.

  1. Geben Sie die Migrationsquelle als Compute Engine-VM an. Dadurch wird die Quellspezifikation dem Migrationsplan hinzugefügt.

    migctl source create ce quickstart-source --project project-id --zone zone
    
  2. Erstellen Sie eine Migration.

    Dieser Befehl erstellt einen Migrationsplan, der definiert, was migriert werden soll.

    migctl migration create my-migration --source quickstart-source \
      --vm-id quickstart-instance --intent Image
    
  3. Speichern Sie den gerade bearbeiteten Migrationsplan.

  4. Migrieren Sie die VM und verwenden Sie dabei den Migrationsplan.

    Dadurch wird die VM migriert und Artefakte generiert, die Sie zum Bereitstellen der Arbeitslast verwenden können.

    migctl migration generate-artifacts my-migration
    
  5. Behalten Sie nach Beginn der Migration deren Status im Blick, bis sie abgeschlossen ist.

    Die Migration kann einige Minuten dauern. Wenn Sie währenddessen den Status prüfen, wird der aktuelle Status der Migration gemeldet.

    migctl migration status my-migration
    

    Wenn die Migration abgeschlossen ist, sollte eine Meldung wie die folgende angezeigt werden:

    migctl migration status my-migration
    NAME           PROCESS              STATE       STATUS      PROGRESS   AGE
    my-migration   generate-artifacts   completed   COMPLETED   [15/15]    7m25s
    

Migrierte Arbeitslast bereitstellen

Mit den folgenden Schritten rufen Sie die Bereitstellungsartefakte ab, die Sie während der Migration generiert haben. Anschließend stellen Sie damit die migrierte Arbeitslast im Cluster bereit. Als letzten Schritt bestätigen Sie, dass die Webseite "Hello World!" in Ihrer migrierten Anwendung verfügbar ist.

  1. Sobald die Migration abgeschlossen ist, rufen Sie die generierten YAML-Artefakte ab.

    migctl migration get-artifacts my-migration
    

    Mit dem Befehl werden Dateien heruntergeladen, die während der Migration generiert wurden:

    • deployment_spec.yaml: Die YAML-Datei, die Ihre Arbeitslast konfiguriert.
    • Dockerfile: Das Dockerfile, das zum Erstellen des Images für die migrierte VM verwendet wird.
    • migration.yaml: Eine Kopie des Migrationsplans.
  2. Öffnen Sie die Datei "deployment_spec.yaml" und suchen Sie das Objekt Service mit dem Namen app-quickstart-instance.

  3. Fügen Sie unter der Service-Definition einen weiteren Service ein, der Port 80 für den Zugriff auf Ihren Webserver über HTTP freigibt. Speichern Sie dann die Datei.

    Fügen Sie den hervorgehobenen Code so ein, dass die Bereitstellungsspezifikation Folgendes enthält.

    apiVersion: v1
    kind: Service
    metadata:
      creationTimestamp: null
      name: app-quickstart-instance
    spec:
      clusterIP: None
      selector:
        app: app-quickstart-instance
      type: ClusterIP
    status:
      loadBalancer: {}
    
    ---
    
    
    apiVersion: v1
    kind: Service
    metadata:
      name: hello-service
    spec:
      selector:
        app: app-quickstart-instance
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
      type: LoadBalancer
    
    

  4. Wenden Sie die YAML-Datei mit der Bereitstellungsspezifikation an, um die Arbeitslast bereitzustellen.

    kubectl apply -f deployment_spec.yaml
    

    Es kann einige Minuten dauern, bis die Bereitstellung abgeschlossen ist.

  5. Suchen Sie nach einer externen IP-Adresse.

    kubectl get service hello-service
    

    Wenn der Webserver bereit ist, sehen Sie eine externe IP-Adresse für den hinzugefügten hello-service.

    kubectl get service hello-service
    NAME            TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)        AGE
    hello-service   LoadBalancer   10.23.241.124   ##.##.###.##   80:32611/TCP   5m4s
    
  6. Testen Sie die Migration. Öffnen Sie dazu einen Browser und rufen Sie die Webseite unter der externen IP-Adresse auf. Verwenden Sie dabei HTTP und nicht HTTPS.

    http://##.##.###.##
    

Sie können bash-Befehle für den Container mit der migrierten Arbeitslast ausführen. Weitere Informationen finden Sie unter Fehlerbehebung.

Bereinigen

Löschen Sie das Projekt mit der Google Cloud Console, wenn Sie es nicht benötigen. Damit vermeiden Sie unnötige Kosten für Google Cloud.

Weitere Informationen