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.
In einem Zielcluster bereitstellen
In den folgenden Abschnitten werden die verfügbaren Optionen zum Bereitstellen Ihrer Arbeitslast in einem Cluster beschrieben.
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
Dabei gilt:
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 Datei
deployment_spec.yaml
, um den WertimagePullSecrets
der Definitionspec.template.spec
hinzuzufügen: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
Der Zielcluster muss Lesezugriff auf die Docker-Image-Registry haben.
Stellen Sie den Container bereit:
kubectl apply -f deployment_spec.yaml