Das Dokument ist Teil einer Reihe, in der Architekturmuster erläutert werden, mit denen Unternehmen ihren Cloud-Fußabdruck mit Active Assist umfassend optimieren können. In dieser Anleitung wird beschrieben, wie Sie eine Automatisierungs-Pipeline für Active Assist-Empfehlungen erstellen, die mit der GKE Enterprise-Toolchain funktioniert. Dieses Dokument ist für Nutzer gedacht, die Config Sync zum Verwalten ihrer GKE Enterprise-Umgebungen und Config Connector zum Verwalten von Google Cloud-Ressourcen verwenden. Die anderen Teile der Reihe:
- Muster für die Nutzung von Active Assist in großem Umfang
- Serverlose Pipelines mit Active Assist verwenden
- GKE Enterprise-Toolchain mit Active Assist verwenden (dieses Dokument)
Die in dieser Anleitung erstellte Automatisierungspipeline hilft Ihnen bei folgenden Aufgaben:
- Die Verwendung des Active Assist-Portfolios in Ihrer Organisation skalieren
- Active Assist in Ihre CI/CD-Pipeline (Continuous Integration, Continuous Delivery) einbinden
- Prüfen und Umsetzen von Active Assist-Empfehlungen mithilfe von Konstrukten wie GitHub-Problemen und Pull-Anfragen steuern
Außerdem wird in dieser Anleitung kpt verwendet, ein Open-Source-Toolkit, das von Google entwickelt wurde, um Datendateien der Kubernetes-Ressourcenkonfiguration zu verwalten, zu bearbeiten, anzupassen und anzuwenden.
Architektur
Im folgenden Diagramm sehen Sie die Komponenten, die Sie in dieser Anleitung verwenden.
Die Komponenten werden so verwendet:
- Ein GitHub-DRY-Repository (Don't Repeat Yourself), das für Config Connector-Vorlagen verwendet wird, die Sie in Projekten in Ihrer Google Cloud-Organisation bereitstellen.
- Ein oder mehrere GitHub-Repositories, die für ein Projekt oder eine Umgebung spezifisch sind und hydrierte Konfigurationsdateien enthalten. Diese hydrierten Repositories sind für die Umgebungen vorgesehen, die Config Sync verwaltet. Mit Config Connector können Sie Google Cloud-Ressourcen in der Google Cloud-Organisation nutzen und verwalten.
- Einen GKE-Cluster, der Config Sync für die Versionsverwaltung und Drifterkennung verwendet. In diesem Cluster ist auch Config Connector installiert. Mit Config Connector kann der Cluster Google Cloud-Ressourcen in der Google Cloud-Organisation verwalten.
- Ein Cloud Build-Trigger, der einen Build auslöst, wenn eine Vorlage per Push in das GitHub-DRY-Repository übertragen wird.
- Ein geplanter Cloud Build-Trigger, der regelmäßig einen Build auslöst. Der Build-Job verwendet eine kpt-Funktion. Die Funktion ruft die Active Assist Recommender APIs auf, um aktive Empfehlungen abzurufen. Sie prüft und parst Empfehlungen, um zu ermitteln, ob die von Config Connector verwalteten Google Cloud-Ressourcen angepasst oder optimiert werden müssen. Die kpt-Funktion erstellt ein GitHub-Problem im DRY-Repository mit den Details der empfohlenen Änderung, wenn die von Config Connector verwalteten Google Cloud-Ressourcen skaliert oder optimiert werden müssen.
Der Workflow für diese Architektur sieht so aus:
- Autorisierte Teams mit Zugriff auf das DRY-Repository erstellen und Config Connector-Vorlagen im Repository verwalten.
- Ein Cloud Build-Job wird ausgelöst, wenn eine Vorlage erstellt oder geändert und in den
main
-Zweig eingecheckt wird. - Der Cloud Build-Job hydriert die Vorlagen durch Aufrufen von kpt-Settern. Der Job überträgt die hydrierten Konfigurationsdateien in das hydrierte GitHub-Repository. Secret Manager wird zum Speichern von GitHub-Bereitstellungsschlüsseln für das private Repository verwendet.
- Config Sync achtet auf Änderungen am hydrierten Repository und wendet die im Repository gefundenen Aktualisierungen auf den verwalteten Cluster an.
- Config Connector achtet auf Änderungen und nutzt Google Cloud-Ressourcen, wenn Ressourcen aufgrund der von Config Sync angewendeten KRM-Änderungen (Kubernetes Resource Model) erstellt oder aktualisiert werden müssen.
- Ein geplanter Cloud Build-Trigger wird regelmäßig ausgeführt, um die Recommender API aufzurufen und aktive Empfehlungen für die von Config Connector verwalteten Projekte abzurufen.
- Der geplante Cloud Build-Job führt eine benutzerdefinierte kpt-Funktion aus, um die Recommender API aufzurufen und aktive Empfehlungen abzurufen und zu parsen.
- Die kpt-Funktion erstellt ein GitHub-Problem, das einen Vergleich der aktuellen Ressourcenkonfiguration und der empfohlenen Konfiguration für die Ressource zeigt. Bei diesem Ansatz werden GitHub-Probleme im DRY-Repository erstellt, wodurch Änderungen am Repository besser nachverfolgt werden können.
Ziele
- Die folgenden GitHub-Beispiel-Repositories erstellen:
- Ein DRY-Repository für Config Connector-KRMs
- Ein Repository für hydrierte Konfigurationsdateien, die mit kpt-Settern generiert wurden
- Einen GKE-Cluster mit Config Sync und Config Connector erstellen
- Eine kpt-Beispielfunktion erstellen, um Active Assist-Empfehlungen für von Config Connector verwaltete Projekte abzurufen
- Einen Cloud Build-Trigger erstellen, der ausgelöst wird, wenn eine Vorlage per Push an den
main
-Zweig des DRY-Repositorys übertragen wird. - Einen geplanten Cloud Build-Job erstellen, der regelmäßig ausgeführt wird, um verfügbare Active Assist-Empfehlungen für die von Config Connector verwalteten Ressourcen abzurufen
- Die End-to-End-Pipeline mit den Stub-Empfehlungen testen, die im GitHub-Repository für diese Anleitung bereitgestellt werden
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Cloud Build
- Cloud Run
- Firestore
- Pub/Sub
- Container Registry
- Cloud Scheduler
- Google Kubernetes Engine (GKE) Enterprise Edition
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweise
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
- Notieren Sie sich die Google Cloud-Projekt-ID. Sie verwenden diese ID im nächsten Abschnitt, wenn Sie Ihre Umgebung einrichten. Dieses Projekt wird in der gesamten Anleitung als
build
-Projekt bezeichnet. -
Enable the Cloud Build, Firestore, App Engine, Pub/Sub, Cloud Run, Cloud Schedule und Cloud Source Repositories APIs.
In dieser Anleitung verwenden Sie die Standardanmeldedaten für Anwendungen. Wenn Sie aufgefordert werden, Anmeldedaten auf der Seite Anmeldedaten zu Ihrem Projekt hinzufügen zu erstellen, klicken Sie auf Abbrechen. -
Make sure that billing is enabled for your Google Cloud project.
Umgebung einrichten
In dieser Anleitung führen Sie alle Befehle in Cloud Shell aus.
In the Google Cloud console, activate Cloud Shell.
Legen Sie Variablen für die Projekt-ID und die Projektnummer des aktuellen Google Cloud-
build
-Projekts fest:export RECO_MGR_PROJECT=PROJECT_ID gcloud config set project $RECO_MGR_PROJECT export RECO_MGR_PROJECT_NUMBER=$(gcloud projects describe $RECO_MGR_PROJECT --format='value(projectNumber)')
Ersetzen Sie
PROJECT_ID
durch die Projekt-ID, die Sie im vorherigen Abschnitt notiert haben.Legen Sie Variablen für die Bereitstellungsregion fest:
export REGION=us-central1 export ZONE=us-central1-a
Klonen Sie das Repository, das den Code der in dieser Anleitung verwendeten Beispielanwendung enthält:
git clone https://github.com/GoogleCloudPlatform/activeassist-anthos-toolchain.git
Wechseln Sie zum Projektverzeichnis:
cd activeassist-anthos-toolchain
Pipeline erstellen
In diesem Abschnitt erstellen Sie die Komponenten, mit denen die Pipeline erstellt wird. Active Assist-Empfehlungen werden anhand von Nutzungsmustern und Systemmesswerten generiert. Für jede Empfehlungskategorie kann ein anderes Standardzeitfenster verwendet werden, um Nutzungsdaten und Messwerte auf der Grundlage der generierten Empfehlungen zu analysieren. Zum Testen der End-to-End-Pipeline bietet das Repository, das Sie in einem vorherigen Schritt geklont haben, Beispielempfehlungen (Stubs), die Sie zum Ausführen der End-to-End-Pipeline verwenden.
Wenn Sie die Pipeline in einem Beispielprojekt mit vorhandenen Ressourcen und Empfehlungen ausführen, können Sie auch geeignete Änderungen am Beispielcode vornehmen und dann die Pipeline ausführen.
Private GitHub-Beispielrepositories einrichten
In den folgenden Abschnitten richten Sie die GitHub-Beispielrepositories für diese Anleitung ein.
Privates DRY-GitHub-Repository einrichten
Erstellen Sie ein privates GitHub-Repository für das DRY-Repository. Notieren Sie sich den Namen, den Sie dem Repository geben.
Erstellen Sie in Cloud Shell eine Umgebungsvariable für Ihren GitHub-Nutzernamen und den Namen des DRY-Repositorys:
export REPO_OWNER=YOUR_GITHUB_USERNAME export DRY_REPO_NAME=YOUR_PRIVATE_DRY_REPO
Dabei gilt:
YOUR_GITHUB_USERNAME
: Ihr GitHub-NutzernameYOUR_PRIVATE_DRY_REPO
: der Name des DRY-Repositorys
Erstellen Sie ein persönliches Zugriffstoken (PAT), um Probleme in diesem Repository zu erzeugen. Die Pipeline erzeugt GitHub-Probleme, wenn es Active Assist-Empfehlungen gibt, die überprüft werden müssen. Weitere Informationen zum Erstellen von PATs in GitHub finden Sie in der GitHub-Dokumentation.
Wenn Sie für dieses Token einen Bereich festlegen, wählen Sie Vollständige Kontrolle über private Repositories aus.
Erstellen Sie in Cloud Shell eine Umgebungsvariable für das generierte PAT:
export GITHUB_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
Ersetzen Sie
YOUR_PERSONAL_ACCESS_TOKEN
durch Ihr eigenes Token.
Privates hydriertes GitHub-Repository einrichten
Erstellen Sie ein privates GitHub-Repository für das hydrierte Repository. Notieren Sie sich den Namen, den Sie dem Repository geben.
Legen Sie in Cloud Shell eine Umgebungsvariable für das hydrierte Repository fest:
export HYDRATED_REPO_NAME=YOUR_PRIVATE_HYDRATED_REPO export HYDRATED_REPO='git@github.com:$REPO_OWNER/$HYDRATED_REPO_NAME.git'
Ersetzen Sie
YOUR_PRIVATE_HYDRATED_REPO
durch den Namen des hydrierten Repositorys.Erstellen Sie ein Bereitstellungsschlüsselpaar:
ssh-keygen -t rsa -b 4096 \ -C 'active-assist-robot' \ -N '' \ -f $(pwd)/active-assist-robot
Mit einem Bereitstellungsschlüssel können Sie das private GitHub-Repository bereitstellen, wenn Sie einen Cloud Build-Job ausführen, um Konfigurationsdateien zu hydrieren.
Geben Sie den generierten Schlüssel aus:
cat $(pwd)/active-assist-robot.pub
Fügen Sie den Bereitstellungsschlüssel dem privaten GitHub-Repository hinzu. Wählen Sie beim Hinzufügen des Bereitstellungsschlüssels Schreibzugriff zulassen aus. Informationen zum Hinzufügen von Bereitstellungsschlüsseln zu GitHub-Repositories finden Sie in der GitHub-Dokumentation unter Bereitstellungsschlüssel verwalten.
GitHub-Schlüssel in Secret Manager hochladen
Erstellen Sie in Cloud Shell ein Secret zum Speichern des privaten Schlüssels aus dem Bereitstellungsschlüsselpaar:
gcloud secrets create github-ssh-key \ --data-file=$(pwd)/active-assist-robot
Erstellen Sie ein Secret zum Speichern des PAT:
echo $GITHUB_TOKEN | gcloud secrets create github-pat --data-file=-
GKE-Cluster erstellen
In diesem Abschnitt erstellen Sie einen GKE-Cluster mit dem Add-on „Config Connector“, erstellen eine Identität und konfigurieren Config Connector. Außerdem konfigurieren Sie Config Sync. Sie können mit Config Sync eine gemeinsame Konfiguration für Ihre gesamte Infrastruktur erstellen, einschließlich benutzerdefinierter Richtlinien, und diese sowohl lokal als auch in der Cloud anwenden. Config Sync ermittelt Änderungen und überträgt sie auf alle Kubernetes-Cluster, damit diese immer den gewünschten Status haben.
Erstellen Sie in Cloud Shell einen neuen GKE-Cluster mit aktiviertem Config Connector-Add-on:
gcloud container clusters create sample-ops \ --machine-type n1-standard-4 \ --zone $ZONE \ --release-channel regular \ --addons ConfigConnector \ --workload-pool=$RECO_MGR_PROJECT.svc.id.goog \ --enable-stackdriver-kubernetes \ --enable-ip-alias
Führen Sie die folgenden Abschnitte aus der Anleitung Mit dem GKE-Add-on installieren aus, um eine Identität zu erstellen und Config Connector zu konfigurieren.
Installieren Sie Config Sync im von Ihnen erstellten GKE-Cluster. Bei der Konfiguration von Config Sync müssen Sie Folgendes tun:
- Verwenden Sie ein Token, um Config Sync Lesezugriff auf Git zu gewähren.
Verwenden Sie das GitHub-Token, das Sie beim Einrichten eines privaten DRY-GitHub-Repositorys erstellt haben.
Das Token ist über die Umgebungsvariable
$GITHUB_TOKEN
verfügbar. - Konfigurieren Sie Config Sync mit gcloud.
Legen Sie die folgenden Einstellungen fest:
- sourceFormat:
hierarchy
- syncRepo:
https://github.com/YOUR_GITHUB_USERNAME/YOUR_PRIVATE_HYDRATED_REPO
- syncBranch:
main
- secretType:
token
- policyDir: Diese Option nicht ausfüllen
- sourceFormat:
- Verwenden Sie ein Token, um Config Sync Lesezugriff auf Git zu gewähren.
Verwenden Sie das GitHub-Token, das Sie beim Einrichten eines privaten DRY-GitHub-Repositorys erstellt haben.
Das Token ist über die Umgebungsvariable
Cloud Build-Trigger zur Push-Übertragung in das hydrierte Repository erstellen
In den folgenden Abschnitten erstellen Sie einen Cloud Build-Trigger, der ausgelöst wird, wenn Vorlagen per Push an den Hauptzweig des Repositorys YOUR_PRIVATE_DRY_REPO
übertragen werden. Dieser Trigger führt die Schritte aus, mit denen die config-as-data-KRM-Vorlagen im Repository YOUR_PRIVATE_DRY_REPO
hydriert und die hydrierten Konfigurationsdateien per Push in das Repository YOUR_PRIVATE_HYDRATED_REPO
übertragen werden.
Cloud Build mit GitHub-Repositories verbinden
In diesem Abschnitt verbinden Sie die GitHub-Repositories YOUR_PRIVATE_DRY_REPO
und YOUR_PRIVATE_HYDRATED_REPO
mit Cloud Build.
Rufen Sie die GitHub Marketplace-Seite für die Cloud Build-Anwendung auf.
Klicken Sie auf Setup with Google Cloud Build (Mit Google Cloud Build einrichten).
Wenn Sie dazu aufgefordert werden, melden Sie sich bei GitHub an.
Wählen Sie Nur Repositories auswählen aus.
Verwenden Sie das Drop-down-Menü Repositories auswählen, um den Zugriff auf Ihre Repositories
YOUR_PRIVATE_DRY_REPO
undYOUR_PRIVATE_HYDRATED_REPO
über die Cloud Build-Anwendung zu ermöglichen.Klicken Sie auf Installieren.
Melden Sie sich in Google Cloud an. Auf der Seite Autorisierung werden Sie aufgefordert, die Anwendung Google Cloud Build für die Verbindung mit Google Cloud zu autorisieren.
Klicken Sie auf Google Cloud Build durch GoogleCloudBuild autorisieren. Sie werden zur Google Cloud Console weitergeleitet.
Wählen Sie Ihr Google Cloud-Projekt aus.
Wählen Sie das Kästchen für die Zustimmung aus und klicken Sie auf Weiter.
Klicken Sie auf Installieren.
Melden Sie sich in Google Cloud an. Auf der Seite Autorisierung werden Sie aufgefordert, die Anwendung Google Cloud Build für die Verbindung mit Google Cloud zu autorisieren.
Klicken Sie auf Google Cloud Build durch GoogleCloudBuild autorisieren. Sie werden zur Google Cloud Console weitergeleitet.
Wählen Sie Ihr Google Cloud-Projekt aus.
Wählen Sie das Kästchen für die Zustimmung aus und klicken Sie auf Weiter.
Wählen Sie auf der Seite Repository auswählen die folgenden GitHub-Repositories aus:
YOUR_PRIVATE_DRY_REPO
YOUR_PRIVATE_HYDRATED_REPO
Klicken Sie auf Verbinden und dann auf Fertig.
Cloud Build-Trigger für das DRY-Repository erstellen
Führen Sie in Cloud Shell den folgenden Befehl aus:
envsubst < cloudbuild.template.yaml > cloudbuild.yaml
Der Befehl generiert eine
cloudbuild.yaml
-Datei.Erstellen Sie den Trigger:
gcloud beta builds triggers create github \ --name ActiveAssistDemo \ --repo-name=$DRY_REPO_NAME \ --repo-owner=$REPO_OWNER \ --branch-pattern="main" \ --build-config=cloudbuild.yaml
Gewähren Sie dem Cloud Build-Dienstkonto die Berechtigung für den Zugriff auf Secret Manager:
gcloud secrets add-iam-policy-binding github-ssh-key \ --member="serviceAccount:${RECO_MGR_PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor" gcloud secrets add-iam-policy-binding github-pat \ --member="serviceAccount:${RECO_MGR_PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"
Geplanten Cloud Build-Trigger für Active Assist-Empfehlungen erstellen
In den folgenden Abschnitten erstellen Sie einen geplanten Cloud Build-Trigger, der regelmäßig ausgeführt wird. Dieser Trigger ruft Active Assist-Empfehlungen mit einer kpt-Funktion ab und bestimmt, ob es aktive Empfehlungen für die Ressourcen in Ihrem Repository YOUR_PRIVATE_HYDRATED_REPO
gibt. Die kpt-Funktion erzeugt auch ein GitHub-Problem in Ihrem YOUR_PRIVATE_HYDRATED_REPO
-Repository, wenn es aktive Empfehlungen für die Ressourcenkonfiguration gibt, die überprüft und bearbeitet werden muss.
Cloud Build-Image generieren
In diesem Abschnitt generieren Sie ein Cloud Build-Image mit kpt, gh und Knotenkomponenten.
Erstellen Sie in Cloud Shell ein Docker-Image und übertragen Sie es per Push an Container Registry:
gcloud auth configure-docker docker build -t gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1 ./recommender-kpt-function docker push gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1
Cloud Build-Trigger für das hydrierte Repository erstellen
Erstellen Sie in Cloud Shell die Konfigurationsdatei, die zum Einrichten des geplanten Cloud Build-Triggers erforderlich ist:
envsubst < cloudbuild-scheduled-recommendations.template.yaml > cloudbuild-scheduled-recommendations.yaml
Erstellen Sie den Cloud Build-Trigger:
gcloud beta builds triggers create github \ --name ActiveAssistScheduledRecommendations \ --repo-name=YOUR_PRIVATE_HYDRATED_REPO \ --repo-owner=$REPO_OWNER \ --branch-pattern="main" \ --build-config=cloudbuild-scheduled-recommendations.yaml
Rufen Sie die ID dieses Triggers ab:
export TRIGGER_ID=`gcloud beta builds triggers describe \ ActiveAssistScheduledRecommendations \ --format="value(id)"`
Cloud Scheduler-Job erstellen, um den Trigger aufzurufen
Erstellen Sie in Cloud Shell ein Dienstkonto:
gcloud iam service-accounts create build-invoker \ --description "Service Account used by Cloud Scheduler to invoke the sample scheduled Cloud Build job" \ --display-name "recommender-scheduler-sa" \ --project $RECO_MGR_PROJECT
Cloud Scheduler-Jobs verwenden dieses Dienstkonto, um den
recommender-parser
-Dienst auszuführen.Erteilen Sie dem Dienstkonto die Berechtigung zum Aufrufen eines Cloud Build-Jobs:
gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \ --member serviceAccount:build-invoker@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/cloudbuild.builds.editor \ --project $RECO_MGR_PROJECT gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \ --member serviceAccount:build-invoker@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/serviceusage.serviceUsageConsumer \ --project $RECO_MGR_PROJECT
Erstellen Sie einen Cloud Scheduler-Job, um den Trigger aufzurufen, den Sie im vorherigen Schritt erstellt haben:
gcloud scheduler jobs create http scheduled-build \ --project $RECO_MGR_PROJECT \ --time-zone "America/Los_Angeles" \ --schedule="0 */3 * * *" \ --uri="https://cloudbuild.googleapis.com/v1/projects/${RECO_MGR_PROJECT}/triggers/${TRIGGER_ID}:run" \ --description="Scheduler job to invoke Cloud Build" \ --oauth-service-account-email="build-invoker@$RECO_MGR_PROJECT.iam.gserviceaccount.com" \ --headers="Content-Type=application/json" \ --http-method="POST" \
Wählen Sie
Y
aus, wenn die folgende Meldung angezeigt wird:There is no App Engine app in the project.
Wenn Sie aufgefordert werden, die Region auszuwählen, in der sich die App Engine-Anwendung befinden soll, wählen Sie die Region
us-central
aus.
Commit durchführen und Cloud Build-Konfigurationsdateien per Push an GitHub übertragen
Übertragen Sie die beiden von Ihnen erstellten Cloud Build-Konfigurationsdateien per Push in das Repository YOUR_PRIVATE_DRY_REPO
:
git remote add dry https://github.com/$REPO_OWNER/$DRY_REPO_NAME.git
git add cloudbuild.yaml
git add cloudbuild-scheduled-recommendations.yaml
git commit -m "Added cloudbuild configuration YAMLs"
git push dry main
Sie werden möglicherweise aufgefordert, Ihre GitHub-Anmeldedaten einzugeben, wenn Sie Daten per Push in Ihr privates Repository übertragen.
Ergebnis des Cloud Build-Jobs prüfen
Wenn Sie einen Commit durchführen und die Änderungen per Push in das Repository YOUR_PRIVATE_DRY_REPO
übertragen, wird der Cloud Build-Job ausgelöst. Wenn der Cloud Build-Job erfolgreich ausgeführt wird, werden mehrere Ressourcen erstellt. In diesem Abschnitt prüfen Sie, ob die Ressourcen nach Abschluss des Cloud Build-Jobs erstellt werden.
Prüfen Sie in Cloud Shell in Ihrem
sample-ops
-Cluster, ob Sie einen Namespace namensactiveassist-kcc
haben:kubectl get ns | grep activeassist-kcc
Config Connector stellt eine laufende Compute Engine-Beispielinstanz in Ihrem
PROJECT_ID
-Projekt bereit.Prüfen Sie, ob sich die Compute Engine-Instanz im Projekt befindet:
gcloud compute instances list | grep \ computeinstance-sample-cloudmachine
Der Typ
MACHINE_TYPE
für diese Maschine istn1-standard-1
.
End-to-End-Tests ausführen
Wenn Sie die End-to-End-Pipeline testen möchten, bietet das Repository, das Sie für diese Anleitung geklont haben, Beispielempfehlungen (Stubs). Mit diesen Stubs können Sie die End-to-End-Pipeline ausführen. Der Stub imitiert eine Active Assist-Empfehlungsnutzlast und empfiehlt eine Änderung des Maschinentyps für die Compute Engine-Instanz, der vom Instanztyp n1-standard-1
im Instanztyp g1-small
bereitgestellt wurde.
In diesem Abschnitt rufen Sie den geplanten Cloud Build-Trigger manuell auf, um den Job auszuführen, der eine kpt-Funktion verwendet, um Active Assist-Empfehlungen abzurufen. Sie prüfen auch, ob in Ihrem YOUR_PRIVATE_DRY_REPO
-Repository ein GitHub-Problem erzeugt wurde.
Rufen Sie die Seite „Build-Trigger” in der Google Cloud Console auf.
Wählen Sie den
ActiveAssistScheduledRecommendations
-Trigger aus.Klicken Sie in der Triggerliste neben dem Triggereintrag auf Ausführen, um den Trigger manuell zu testen.
Der Trigger erstellt ein GitHub-Problem im Repository
YOUR_PRIVATE_DRY_REPO
. Die entsprechende Ausgabe sieht etwa so aus:gcloud auth configure-docker docker build -t gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1 ./recommender-kpt-function docker push gcr.io/$RECO_MGR_PROJECT/kpt-dev-gh:1
Im Beispielproblem zeigt die Ausgabe der kpt-Funktion, dass der aktuelle
MACHINE_TYPE
-Typ für die Compute Engine-Instanzn1-standard-1
ist. Gemäß der Active Assist-Empfehlung sollte der Typ ing1-small
geändert werden.Versionsprüfer in Ihrem Unternehmen können automatisierte GitHub-Probleme prüfen und bei Bedarf Maßnahmen für Ihr Unternehmen ergreifen.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Nächste Schritte
- Weitere Informationen zu serverlosen Google Cloud-Technologien.
- Policy Intelligence-Empfehlungen in eine IaC-Pipeline (Infrastructure as Code) integrieren.