Samouczek Cloud Run Starter

1. Omówienie

Cloud Run to w pełni zarządzana bezserwerowa platforma, która umożliwia uruchamianie bezstanowych kontenerów wywoływanych przez żądania HTTP. Cloud Run jest rozwiązaniem bezserwerowym, które nie wymaga zarządzania infrastrukturą, dzięki czemu możesz skupić się na tym, co najważniejsze, czyli tworzeniu świetnych aplikacji.

Jest oparta na platformie Knative, co pozwala uruchamiać w pełni zarządzane kontenery w Cloud Run lub kontenery w klastrze Google Kubernetes Engine przy użyciu Cloud Run w GKE.

Czego się nauczysz

Z tego modułu nauczysz się:

  • Wdrażanie aplikacji Cloud Run

Wymagania wstępne

  • W tym module zakładamy, że znasz środowiska konsoli Cloud i Cloud Shell.

2. Konfiguracja i wymagania

Konfigurowanie projektu Cloud

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub wykorzystaj już istniejący. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Nazwa projektu jest wyświetlaną nazwą uczestników tego projektu. To ciąg znaków, który nie jest używany przez interfejsy API Google. W każdej chwili możesz ją zmienić.
  • Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić (po jego ustawieniu nie można go zmienić). Cloud Console automatycznie wygeneruje unikalny ciąg znaków. zwykle nieważne, co ona jest. W większości ćwiczeń z programowania konieczne jest odwołanie się do identyfikatora projektu (zwykle nazywa się on PROJECT_ID). Jeśli nie podoba Ci się wygenerowany identyfikator, możesz wygenerować kolejny losowy. Możesz też spróbować własnych sił i sprawdzić, czy jest dostępna. Potem nie będzie można go zmienić. Pozostanie ono przez czas trwania projektu.
  • Dostępna jest trzecia wartość, numer projektu, z którego korzystają niektóre interfejsy API. Więcej informacji o wszystkich 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć płatności w Cloud Console, aby korzystać z zasobów Cloud/interfejsów API. Ukończenie tego ćwiczenia z programowania nie powinno kosztować zbyt wiele. Aby wyłączyć zasoby, aby nie naliczać opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub cały projekt. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego o wartości 300 USD.

Konfiguracja środowiska

Aktywuj Cloud Shell, klikając ikonę po prawej stronie paska wyszukiwania.

ecdc43ada29e91b.png

W Cloud Shell włącz Cloud Run API:

gcloud services enable run.googleapis.com

Jeśli pojawi się prośba o autoryzację, kliknij „Autoryzuj”. aby kontynuować.

6356559df3eccdda.png

Powinien wyświetlić się komunikat o powodzeniu podobny do tego:

Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.

3. Przygotowanie aplikacji

Najpierw przygotujesz prostą aplikację Node.js opartą na Node.js, która odpowiada na żądania HTTP.

W Cloud Shell utwórz nowy katalog o nazwie starter-nodejs, a następnie przejdź do tego katalogu:

mkdir starter-nodejs
cd starter-nodejs

Utwórz plik package.json, uruchamiając te polecenia:

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

Powyższy plik zawiera polecenie skryptu startowego i zależność od platformy aplikacji internetowej Express.

Następnie w tym samym katalogu utwórz plik index.js, uruchamiając te polecenia:

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

Ten kod tworzy podstawowy serwer WWW, który nasłuchuje na porcie określonym przez zmienną środowiskową PORT. Aplikacja jest gotowa i możesz ją teraz skonteneryzować i wdrożyć.

4. Wdrażanie aplikacji Cloud Run

Uruchom to polecenie, aby wdrożyć aplikację:

gcloud run deploy starter-app \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --max-instances=3

Potwierdź utworzenie repozytorium Artifact Registry:

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

W wyniku poprzedniego polecenia zostaną wykonane te kroki:

d661616f9b2fffcf.png

Poznaj wyniki tych kroków w konsoli Cloud: Cloud Build, Cloud Storage, Artifact Registry i Cloud Run.

f536961280192919.png

5. Gratulacje!

Gratulacje! Aplikacja została wdrożona w Cloud Run.

Omówione zagadnienia:

  • Jak wdrożyć aplikację początkową w Cloud Run

Co dalej:

Poznaj inne ćwiczenia z programowania Cymbal Eats:

Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, możesz usunąć projekt zawierający te zasoby lub zachować projekt i usunąć poszczególne zasoby.

Usuwam projekt

Najprostszym sposobem na uniknięcie płatności jest usunięcie projektu utworzonego na potrzeby samouczka.