1. Übersicht
Cloud Run ist eine vollständig verwaltete serverlose Plattform, mit der Sie zustandslose Container ausführen können, die sich über HTTP-Anfragen aufrufen lassen. Cloud Run arbeitet serverlos und benötigt keine Infrastrukturverwaltung. So können Sie sich ganz auf das Programmieren von Anwendungen konzentrieren.
Es basiert auf Knative und ermöglicht Ihnen, Container wahlweise vollständig verwaltet mit Cloud Run oder in Ihrem Google Kubernetes Engine-Cluster mit Cloud Run in GKE auszuführen.
Lerninhalte
In diesem Lab lernen Sie Folgendes:
- Cloud Run-Anwendung bereitstellen
Vorbereitung
- In diesem Lab wird davon ausgegangen, dass Sie mit der Cloud Console und Cloud Shell-Umgebungen vertraut sind.
2. Einrichtung und Anforderungen
Cloud-Projekt einrichten
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.
- Der Projektname ist der Anzeigename für die Projektteilnehmer. Es handelt sich um eine Zeichenfolge, die von Google APIs nicht verwendet wird. Sie können sie jederzeit aktualisieren.
- Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich. Sie kann nach dem Festlegen nicht mehr geändert werden. Die Cloud Console generiert automatisch einen eindeutigen String. ist Ihnen meist egal, was es ist. In den meisten Codelabs musst du auf die Projekt-ID verweisen, die üblicherweise als
PROJECT_ID
gekennzeichnet ist. Wenn Ihnen die generierte ID nicht gefällt, können Sie eine weitere zufällige ID erstellen. Alternativ können Sie einen eigenen verwenden und nachsehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen. - Zur Information gibt es noch einen dritten Wert, die Projektnummer, die von manchen APIs verwendet wird. Weitere Informationen zu allen drei Werten finden Sie in der Dokumentation.
- Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab sollte möglichst wenig kosten. Wenn Sie Ressourcen herunterfahren möchten, um über diese Anleitung hinaus keine Kosten zu verursachen, können Sie die von Ihnen erstellten Ressourcen oder das gesamte Projekt löschen. Neue Google Cloud-Nutzer haben Anspruch auf eine kostenlose Testversion mit 300$Guthaben.
Umgebung einrichten
Aktivieren Sie Cloud Shell, indem Sie auf das Symbol rechts neben der Suchleiste klicken.
Aktivieren Sie in Cloud Shell die Cloud Run API:
gcloud services enable run.googleapis.com
Wenn Sie zur Autorisierung aufgefordert werden, klicken Sie auf „Autorisieren“. um fortzufahren.
Wenn die Aktivierung erfolgreich war, erhalten Sie eine Meldung, die ungefähr so aussieht:
Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.
3. Antrag vorbereiten
Zuerst bereiten Sie eine einfache Express-basierte Node.js-Anwendung vor, die auf HTTP-Anfragen reagiert.
Erstellen Sie in Cloud Shell ein neues Verzeichnis mit dem Namen starter-nodejs
und wechseln Sie zu diesem Verzeichnis:
mkdir starter-nodejs
cd starter-nodejs
Erstellen Sie mit den folgenden Befehlen eine package.json
-Datei:
cat > ./package.json << EOF
{
"name": "cloudrun-starter-app",
"version": "1.0.0",
"description": "Node.js Starter Application",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "Apache-2.0",
"dependencies": {
"express": "^4.18.2"
}
}
EOF
Die Datei oben enthält einen Startskriptbefehl und eine Abhängigkeit vom Express-Framework für Webanwendungen.
Erstellen Sie als Nächstes im selben Verzeichnis eine index.js
-Datei, indem Sie die folgenden Befehle ausführen:
cat > ./index.js << EOF
const express = require('express');
const app = express();
app.get('/', (req, res) => {
console.log('Received a request.');
res.send("Hello Cloud Run!");
});
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log('Listening on port', port);
});
EOF
Mit diesem Code wird ein einfacher Webserver erstellt, der den von der Umgebungsvariable PORT definierten Port überwacht. Ihre Anwendung ist jetzt fertig und kann containerisiert und bereitgestellt werden.
4. Cloud Run-Anwendung bereitstellen
Führen Sie den folgenden Befehl aus, um die Anwendung bereitzustellen:
gcloud run deploy starter-app \
--source . \
--region us-central1 \
--allow-unauthenticated \
--max-instances=3
Bestätigen Sie das Erstellen des Artifact Registry-Repositorys:
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created. Do you want to continue (Y/n)? y
Als Ergebnis des vorherigen Befehls werden die folgenden Schritte ausgeführt:
Sehen Sie sich die Ausgabe dieser Schritte in der Cloud Console an: Cloud Build, Cloud Storage, Artifact Registry und Cloud Run.
5. Glückwunsch!
Glückwunsch! Sie haben gerade eine Anwendung in Cloud Run bereitgestellt.
Behandelte Themen:
- Einstiegsanwendung in Cloud Run bereitstellen
Nächste Schritte:
Weitere Codelabs von Cymbal Eats:
- Cloud Workflows mit Eventarc auslösen
- Ereignisverarbeitung aus Cloud Storage auslösen
- Verbindung zu Private CloudSQL über Cloud Run herstellen
- Verbindung zu vollständig verwalteten Datenbanken über Cloud Run herstellen
- Sichere serverlose Anwendung mit Identity-Aware Proxy (IAP)
- Cloud Run-Jobs mit Cloud Scheduler auslösen
- Sichere Bereitstellung in Cloud Run
- Eingehenden Cloud Run-Traffic sichern
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, können Sie entweder das Projekt löschen, das die Ressourcen enthält, oder das Projekt beibehalten und die einzelnen Ressourcen löschen.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.