Anwendung nach der Bereitstellung überprüfen

In dieser Kurzanleitung erfahren Sie, wie Sie mit Cloud Deploy Ihre bereitgestellte Anwendung im Rahmen der Bereitstellungspipeline überprüfen.

Dieser Schnellstart erläutert folgende Schritte:

  1. Erstellen Sie einen GKE-Cluster oder einen Cloud Run-Dienst.

    Sie können die Bereitstellungsüberprüfung auch für angehängte GKE-Cluster verwenden. In dieser Kurzanleitung werden jedoch nur GKE und Cloud Run verwendet.

  2. Definieren Sie Ihre Cloud Deploy-Bereitstellungspipeline und das Bereitstellungsziel.

    Die Bereitstellungspipeline enthält nur eine Phase und verwendet nur ein Ziel. Sie definieren die Konfiguration für die Bereitstellungsüberprüfung im Abschnitt stage.

  3. Erstellen Sie eine Skaffold-Konfiguration, die für den Release erforderlich ist, und entweder ein Kubernetes -Manifest oder eine Cloud Run-Dienstdefinition.

  4. Erstellen Sie einen Release, der automatisch für das Ziel bereitgestellt wird.

    Nachdem die Anwendung bereitgestellt wurde, wird die Überprüfung als Phase des Roll-outs ausgeführt.

  5. Rufen Sie die Ergebnisse der Überprüfung in den Cloud Build-Logs auf. Verwenden Sie dazu in der Console die Cloud Deploy-Seite Roll-out-Details. Google Cloud

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Konto haben, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Deploy, Cloud Build, GKE, Cloud Run, and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. Installieren Sie die Google Cloud CLI.

  6. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  7. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Cloud Deploy, Cloud Build, GKE, Cloud Run, and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  11. Installieren Sie die Google Cloud CLI.

  12. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  13. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  14. Wenn Sie die CLI bereits installiert haben, prüfen Sie, ob Sie die neueste Version verwenden:

    gcloud components update
    

  15. Prüfen Sie, ob das Standard Compute Engine-Dienstkonto die erforderlichen Berechtigungen hat.

    Das Dienstkonto hat möglicherweise bereits die erforderlichen Berechtigungen. Diese Schritte gelten für Projekte, die automatische Rollenzuweisungen für Standarddienstkonten deaktivieren.

    1. Fügen Sie zuerst die Rolle clouddeploy.jobRunner hinzu:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
          --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
          --role="roles/clouddeploy.jobRunner"
      

    2. Fügen Sie die Entwicklerrolle für Ihre spezifische Laufzeit hinzu.
      • Für GKE:

        gcloud projects add-iam-policy-binding PROJECT_ID \
            --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
            --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
            --role="roles/container.developer"
        

      • Für Cloud Run:

        gcloud projects add-iam-policy-binding PROJECT_ID \
            --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
            --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
            --role="roles/run.developer"
        

    3. Fügen Sie die Rolle iam.serviceAccountUser hinzu, die die Berechtigung actAs zum Bereitstellen in der Laufzeit enthält:

      gcloud iam service-accounts add-iam-policy-binding $(gcloud projects describe PROJECT_ID \
          --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
          --member=serviceAccount:$(gcloud projects describe PROJECT_ID \
          --format="value(projectNumber)")-compute@developer.gserviceaccount.com \
          --role="roles/iam.serviceAccountUser" \
          --project=PROJECT_ID
      

Laufzeitumgebung erstellen

Wenn Sie in Cloud Run bereitstellen, können Sie diesen Befehl überspringen.

Erstellen Sie für GKE einen Cluster: deploy-verification-cluster mit den Standardeinstellungen. Der Kubernetes API-Endpunkt des Clusters muss über das öffentliche Internet erreichbar sein. GKE-Cluster sind standardmäßig extern zugänglich.

gcloud container clusters create-auto deploy-verification-cluster \
                 --project=PROJECT_ID \
                 --region=us-central1

Lieferpipeline und Ziele erstellen

Sie können Pipeline und Ziele in einer Datei oder in separaten Dateien definieren. In dieser Kurzanleitung erstellen Sie nur eine Datei.

  1. Öffnen Sie ein Terminalfenster.

  2. Erstellen Sie ein neues Verzeichnis und wechseln Sie in dieses Verzeichnis.

    GKE

    mkdir deploy-verification-gke-quickstart
    cd deploy-verification-gke-quickstart
    

    Cloud Run

    mkdir deploy-verification-run-quickstart
    cd deploy-verification-run-quickstart
    
  3. Erstellen Sie die Definition für die Bereitstellungspipeline und das Ziel:

    GKE

    Erstellen Sie im Verzeichnis deploy-verification-gke-quickstart eine neue Datei: clouddeploy.yaml mit folgendem Inhalt:

    apiVersion: deploy.cloud.google.com/v1
    kind: DeliveryPipeline
    metadata:
      name: deploy-verification-demo-app-gke-1
    description: main application pipeline
    serialPipeline:
      stages:
      - targetId: verify-staging
        profiles: []
        strategy:
          standard:
            verify:
              tasks:
              - type: container
                image: ubuntu
                command: ["/bin/sh"]
                args: ["-c", 'echo "Your test or tests would go here."' ]
    ---
    
    apiVersion: deploy.cloud.google.com/v1
    kind: Target
    metadata:
      name: verify-staging
    description: verification staging cluster
    gke:
      cluster: projects/PROJECT_ID/locations/us-central1/clusters/deploy-verification-cluster
    

    Cloud Run

    Erstellen Sie im Verzeichnis deploy-verification-run-quickstart eine neue Datei: clouddeploy.yaml mit folgendem Inhalt:

    apiVersion: deploy.cloud.google.com/v1
    kind: DeliveryPipeline
    metadata:
      name: deploy-verification-demo-app-run-1
    description: main application pipeline
    serialPipeline:
      stages:
      - targetId: verify-staging
        profiles: