Linux-Arbeitslast in einem Zielcluster bereitstellen
Nachdem Sie eine Arbeitslast von der Quellplattform migriert haben, können Sie mithilfe der von diesem Prozess erstellten Bereitstellungsartefakte den migrierten Arbeitslastcontainer in einem anderen Cluster bereitstellen.
Skaffold kann den Workflow zum Erstellen, Übertragen und Bereitstellen Ihrer Anwendung. verarbeiten. Weitere Informationen finden Sie unter Mit Skaffold mehrere Images erstellen und bereitstellen.
Hinweis
Für die Bereitstellung der Arbeitslast sollten Sie folgende Schritte ausgeführt haben:
- Sie haben die Arbeitslast mit Tools von Migrate to Containers migriert.
- Erstellte Bereitstellungsdateien prüfen.
Wenn Sie den Container des Legacy-Systems ausführen, müssen Sie mit
migctl
die Legacy-Laufzeitunterstützung in Ihrem Cluster installieren:migctl setup install --runtime
Arbeitslasten im Verarbeitungscluster bereitstellen
Sie können die migrierte Arbeitslast auf demselben Cluster bereitstellen, mit dem Sie auch die Migration durchgeführt haben. Diese Migration wird als der Verarbeitungscluster von Migrate to Containers bezeichnet. In den meisten Fällen müssen Sie keine zusätzliche Konfiguration für den Verarbeitungscluster vornehmen, da der Cluster bereits einen Lese-/Schreibzugriff auf die Docker-Registry benötigt, um eine Migration auszuführen.
In einem Zielcluster bereitstellen, wobei GCR als Docker-Registry verwendet wird
Erstellen Sie ein Kubernetes-Secret mit den für den Zugriff auf GCR erforderlichen Anmeldedaten, um sicherzustellen, dass ein Zielcluster Zugriff auf die Google Container Registry (GCR) hat:
Erstellen Sie ein Dienstkonto zum Bereitstellen einer Migration, wie unter Dienstkonto für den Zugriff auf Container Registry und Cloud Storage erstellen beschrieben.
In diesem Vorgang laden Sie eine JSON-Schlüsseldatei namens
m4a-install.json
herunter.Erstellen Sie ein Kubernetes-Secret mit den für den Zugriff auf GCR erforderlichen Anmeldedaten:
kubectl create secret docker-registry gcr-json-key \ --docker-server=gcr.io --docker-username=_json_key --docker-password="$(cat ~/m4a-install.json)" \ --docker-email=account@project.iam.gserviceaccount.com
wobei
docker-registry
den Namen des Kubernetes-Secrets, in diesem Beispiel gcr-json-key, angibt.docker-server=gcr.io
GCR als Server angibt.docker-username=_json_key
angibt, dass der Nutzername in der JSON-Schlüsseldatei enthalten ist.docker-password
angibt, dass ein Passwort aus der JSON-Schlüsseldatei verwendet wird.docker-email
die E-Mail-Adresse des Dienstkontos angibt.
Legen Sie das Kubernetes-Secret so fest:
Ändern Sie den Standardwert
imagePullSecrets
:kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
Bearbeiten Sie die
deployment_spec.yaml
-Datei, um den WertimagePullSecrets
der Definitionspec.template.spec
hinzuzufügen, wie unten dargestellt:spec: containers: - image: gcr.io/PROJECT_ID/mycontainer-instance:v1.0.0 name: mycontainer-instance ... volumes: - hostPath: path: /sys/fs/cgroup type: Directory name: cgroups imagePullSecrets: - name: gcr-json-key
In einem Zielcluster mithilfe einer Docker-Registry mit Basisauthentifizierung bereitstellen
Wenn Sie eine Docker-Registry zum Speichern von Migrations-Images verwenden, muss die Registry die Basisauthentifizierung mit einem Nutzernamen und einem Passwort unterstützen. Da es mehrere Möglichkeiten zum Konfigurieren einer schreibgeschützten Verbindung zu einer Docker-Registry gibt, sollten Sie die für Ihre Clusterplattform und Docker-Registry geeignete Methode verwenden.
Erstellte Bereitstellungs-YAML-Datei anwenden
Verwenden Sie kubectl
, um die Bereitstellungsspezifikation auf Ihren Zielcluster anzuwenden, z. B. einen Produktionscluster.
kubectl
Achten Sie darauf, dass der Zielcluster Lesezugriff auf die Docker-Image-Registry hat, wie oben unter Achten Sie darauf, dass der Zielcluster Lesezugriff auf die Docker-Image-Registry hat beschrieben.
Stellen Sie den Container bereit:
kubectl apply -f deployment_spec.yaml
Nachdem Sie Ihre Validierungstests für die migrierte Arbeitslast abgeschlossen haben, um zu prüfen, ob die migrierte Arbeitslast ordnungsgemäß funktioniert, sollten Sie die Migration löschen, um Ressourcen freizugeben. Weitere Informationen finden Sie unter Migration löschen.
Migration löschen
Nachdem Sie die migrierte Arbeitslast geprüft und getestet haben, um zu sehen, ob sie ordnungsgemäß funktioniert, können Sie die Migration löschen. Durch das Löschen der Migration werden alle von ihr verwendeten Ressourcen freigegeben.
migctl
Eine abgeschlossene Migration löschen Sie mit dem folgenden Befehl:
migctl migration delete MIGRATION_NAME
Dabei ist MIGRATION_NAME der Name der Migration.