Python-Dienst in Cloud Run bereitstellen
Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt im Cloud Shell-Editor zu erhalten:
Hinweis
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
- So legen Sie das Standardprojekt für Ihren Cloud Run-Dienst fest:
gcloud config set project PROJECT_ID
Ersetzen Sie dabei PROJECT_ID durch den Namen des Projekts, das Sie für diese Kurzanleitung erstellt haben. Wenn Sie einer Domaineinschränkung zur Organisation nicht eingeschränkter Aufrufe für Ihr Projekt unterliegen, müssen Sie auf Ihren bereitgestellten Dienst zugreifen, wie unter Private Dienste testen beschrieben.
Beispielanwendung schreiben
So schreiben Sie eine Anwendung in Python:
Erstellen Sie ein neues Verzeichnis mit dem Namen
helloworld
und ersetzen Sie das aktuelle Verzeichnis durch dieses Verzeichnis:mkdir helloworld cd helloworld
Erstellen Sie eine Datei mit dem Namen
main.py
und fügen Sie den folgenden Code in diese ein:Dieser Code antwortet auf Anfragen mit der Begrüßung „Hello World“. Die HTTP-Verarbeitung erfolgt über einen Gunicorn-Webserver im Container. Wenn dieser Code direkt für die lokale Verwendung aufgerufen wird, erstellt er einen einfachen Webserver, der den von der Umgebungsvariable
PORT
definierten Port überwacht.Erstellen Sie eine Datei mit dem Namen
requirements.txt
und fügen Sie den folgenden Code in diese ein:Dadurch werden für das Beispiel erforderliche Pakete hinzugefügt.
Fügen Sie ein Dockerfile mit dem folgenden Inhalt hinzu:
Dadurch wird ein Gunicorn-Webserver gestartet, der den von der PORT-Umgebungsvariable definierten Port überwacht.
Fügen Sie die Datei
.dockerignore
hinzu, um Dateien aus Ihrem Container-Image auszuschließen.
Die Anwendung ist fertig und kann bereitgestellt werden.
Für Cloud Run aus Quelle bereitstellen
Wichtig: In dieser Kurzanleitung wird davon ausgegangen, dass Sie Inhaber- oder Bearbeiterrollen in dem Projekt haben, das Sie für die Kurzanleitung verwenden. Andernfalls finden Sie die Berechtigungen unter Cloud Run-Bereitstellungsberechtigungen, Cloud Build-Berechtigungen und Artifact Registry-Berechtigungen.
Beim Bereitstellen aus dem Quellcode wird automatisch ein Container-Image aus dem Quellcode erstellt und bereitgestellt.
So stellen Sie aus der Quelle bereit:
Stellen Sie in Ihrem Quellcodeverzeichnis mit dem folgenden Befehl aus der Quelle bereit:
gcloud run deploy
Wenn Sie aufgefordert werden, die API zu aktivieren, antworten Sie mit y, um dies zu tun.
Wenn Sie zur Eingabe des Quellcodes aufgefordert werden, drücken Sie die Eingabetaste, um den aktuellen Ordner bereitzustellen.
Wenn Sie zur Eingabe des Dienstnamens aufgefordert werden, drücken Sie die Eingabetaste, um den Standardnamen zu akzeptieren, z. B.
helloworld
.Wenn Sie aufgefordert werden, die Artifact Registry API zu aktivieren oder das Erstellen des Artifact Registry-Repositorys zu erlauben, antworten Sie mit
y
.Wenn Sie zur Eingabe der Region aufgefordert werden, wählen Sie die Region Ihrer Wahl aus, zum Beispiel
us-central1
.Sie werden aufgefordert, nicht authentifizierte Aufrufe zuzulassen: Antworten Sie mit
y
.
Warten Sie dann einige Sekunden, bis die Bereitstellung abgeschlossen ist. Bei Erfolg wird in der Befehlszeile die Dienst-URL angezeigt.
Rufen Sie den bereitgestellten Service auf. Dazu öffnen Sie in einem Webbrowser die Dienst-URL.
Cloud Run-Standorte
Cloud Run ist regional. Die Infrastruktur, in der die Cloud Run-Dienste ausgeführt werden, befindet sich demnach in einer bestimmten Region. Aufgrund der Verwaltung durch Google sind die Anwendungen in allen Zonen innerhalb dieser Region redundant verfügbar.
Bei der Auswahl der Region, in der Ihre Cloud Run-Dienste ausgeführt werden, ist vorrangig, dass die Anforderungen hinsichtlich Latenz, Verfügbarkeit oder Langlebigkeit erfüllt werden.
Sie können im Allgemeinen die Region auswählen, die Ihren Nutzern am nächsten liegt, aber Sie sollten den Standort der anderen Google Cloud-Produkte berücksichtigen, die von Ihrem Cloud Run-Dienst verwendet werden.
Die gemeinsame Nutzung von Google Cloud-Produkten an mehreren Standorten kann sich auf die Latenz und die Kosten des Dienstes auswirken.
Cloud Run ist in diesen Regionen verfügbar:
Unterliegt Preisstufe 1
asia-east1
(Taiwan)asia-northeast1
(Tokio)asia-northeast2
(Osaka)europe-north1
(Finnland)Niedriger CO2-Wert
europe-southwest1
(Madrid)Niedriger CO2-Ausstoß
europe-west1
(Belgien)Niedriger CO2-Ausstoß
europe-west4
(Niederlande)europe-west8
(Mailand)europe-west9
(Paris)Niedriger CO2-Ausstoß
me-west1
(Tel Aviv)us-central1
(Iowa)Niedriger CO2-Ausstoß
us-east1
(South Carolina)us-east4
(Northern Virginia)us-east5
(Columbus)us-south1
(Dallas)us-west1
(Oregon)Niedriger CO2-Ausstoß
Unterliegt Preisstufe 2
asia-east2
(Hongkong)asia-northeast3
(Seoul, Südkorea)asia-southeast1
(Singapur)asia-southeast2
(Jakarta)asia-south1
(Mumbai, Indien)asia-south2
(Delhi, Indien)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Warschau, Polen)europe-west12
(Turin)europe-west2
(London, Vereinigtes Königreich)europe-west3
(Frankfurt, Deutschland)europe-west6
(Zürich, Schweiz)Niedriger CO2-Ausstoß
me-central1
(Doha)northamerica-northeast1
(Montreal)Niedriger CO2-Ausstoß
northamerica-northeast2
(Toronto)Niedriger CO2-Ausstoß
southamerica-east1
(Sao Paulo, Brasilien)Niedriger CO2-Ausstoß
southamerica-west1
(Santiago, Chile)us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Wenn Sie bereits einen Cloud Run-Dienst erstellt haben, können Sie dessen Region im Cloud Run-Dashboard der Google Cloud Console aufrufen.
Das war's auch schon! Sie haben gerade ein Container-Image aus Quellcode in Cloud Run bereitgestellt. Cloud Run skaliert das Container-Image automatisch horizontal aus, damit die empfangenen Anfragen bearbeitet werden können, und skaliert es wieder herunter, wenn der Bedarf sinkt. Es fallen nur Kosten für die CPU-, Arbeitsspeicher- und Netzwerkressourcen an, die während der Anfrageverarbeitung verbraucht werden.
Bereinigen
Testprojekt entfernen
Während für Cloud Run keine Kosten anfallen, wenn der Dienst nicht verwendet wird, wird Ihnen dennoch das Speichern des Container-Images in Artifact Registry möglicherweise in Rechnung gestellt. Sie können das Container-Image löschen oder Ihr Google Cloud-Projekt löschen, um Kosten zu vermeiden. Wenn Sie Ihr Google Cloud-Projekt löschen, wird die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beendet.
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Nächste Schritte
Weitere Informationen dazu, wie Sie einen Container aus Quellcode erstellen und diesen mithilfe eines Push-Vorgangs in ein Repository übertragen, finden Sie unter: