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:

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:

  1. 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.

  2. 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.
  3. 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 Wert imagePullSecrets der Definition spec.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

  1. Der Zielcluster muss Lesezugriff auf die Docker-Image-Registry haben.

  2. Stellen Sie den Container bereit:

    kubectl apply -f deployment_spec.yaml

Nächste Schritte