arrow_back

Halo Cloud Run

Login Gabung
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

Halo Cloud Run

Lab 1 jam universal_currency_alt 5 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

Ringkasan

Logo Cloud Run

Cloud Run adalah platform komputasi terkelola yang memungkinkan Anda untuk menjalankan container stateless yang dapat dipanggil melalui permintaan HTTP. Cloud Run bersifat serverless. Platform ini memisahkan semua pengelolaan infrastruktur di lokasi lain, sehingga Anda dapat fokus pada hal terpenting, yakni membuat aplikasi yang andal.

Cloud Run di-build dari Knative, sehingga Anda dapat memilih untuk menjalankan container secara terkelola sepenuhnya dengan Cloud Run, atau di cluster Google Kubernetes Engine dengan Cloud Run di GKE.

Tujuan lab ini adalah untuk mempersiapkan Anda membangun image aplikasi sederhana dalam container dan men-deploy-nya di Cloud Run.

Tujuan

Di lab ini, Anda mempelajari cara:

  • Mengaktifkan Cloud Run API.
  • Membuat aplikasi Node.js sederhana yang dapat di-deploy sebagai container stateless serverless.
  • Memasukkan aplikasi ke dalam container dan menguploadnya ke Artifact Registry.
  • Men-deploy aplikasi dalam container di Cloud Run.
  • Menghapus image yang tidak diperlukan untuk menghindari timbulnya biaya penyimpanan tambahan.

Penyiapan dan persyaratan

Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details yang memuat sebagai berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk melihat menu dengan daftar produk dan layanan Google Cloud, klik Navigation menu di kiri atas. Ikon Navigation menu

Mengaktifkan Google Cloud Shell

Google Cloud Shell adalah virtual machine yang dilengkapi dengan berbagai fitur pengembangan. Virtual machine ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud.

Google Cloud Shell menyediakan akses command line untuk resource Google Cloud Anda.

  1. Di Cloud Console, pada toolbar di kanan atas, klik tombol Open Cloud Shell.

    Ikon Cloud Shell yang diperjelas

  2. Klik Continue.

Proses menyediakan dan menghubungkan ke lingkungan memerlukan waktu beberapa saat. Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Contoh:

Project ID yang diperjelas di Terminal Cloud Shell

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  • Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list

Output:

Akun berkredensial: - @.com (aktif)

Contoh output:

Akun berkredensial: - google1623327_student@qwiklabs.net
  • Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project

Output:

[core] project =

Contoh output:

[core] project = qwiklabs-gcp-44776a13dea667a6 Catatan: Dokumentasi lengkap gcloud tersedia dalam panduan ringkasan gcloud CLI .

Referensi

Perintah Linux Dasar

Di bawah ini Anda akan menemukan daftar referensi untuk beberapa perintah Linux paling mendasar yang mungkin diberikan dalam petunjuk atau blok kode untuk lab ini.

Perintah --> Tindakan . Perintah --> Tindakan
mkdir (make directory) membuat folder baru . cd (change directory) mengubah lokasi ke folder lain
ls (list ) mencantumkan file dan folder di direktori . cat (concatenate) membaca konten file tanpa menggunakan editor
apt-get update mengupdate library pengelola paket . ping sinyal untuk menguji keterjangkauan host
mv (move ) memindahkan file . cp (copy) membuat salinan file
pwd (present working directory ) kembali ke lokasi Anda saat ini . sudo (super user do) memberi hak istimewa administrator yang lebih tinggi

Tugas 1. Mengaktifkan Cloud Run API dan mengonfigurasi lingkungan Shell

  1. Dari Cloud Shell, aktifkan Cloud Run API:
gcloud services enable run.googleapis.com
  1. Lakukan otorisasi penggunaan kredensial Anda jika diminta. Anda kemudian akan melihat pesan seperti berikut yang menandakan bahwa proses berhasil:
Operation "operations/acf.cc11852d-40af-47ad-9d59-477a12847c9e" finished successfully. Catatan: Anda juga dapat mengaktifkan API melalui bagian APIs & Services pada konsol.
  1. Tetapkan region komputasi:
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}
  1. Buat variabel lingkungan LOCATION:
LOCATION="{{{project_0.default_region | Region}}}"

Tugas 2. Menulis aplikasi contoh

Dalam tugas ini, Anda akan mem-build aplikasi NodeJS sederhana berbasis express yang merespons permintaan HTTP.

  1. Di Cloud Shell, buat direktori baru bernama helloworld, lalu pindahkan tampilan Anda ke dalam direktori tersebut:
mkdir helloworld && cd helloworld
  1. Berikutnya, Anda akan membuat dan mengedit file. Untuk mengedit file, gunakan nano atau Editor Kode Cloud Shell dengan mengklik tombol Open Editor di Cloud Shell.

  2. Buat file package.json, lalu tambahkan konten berikut ke dalamnya:

nano package.json { "name": "helloworld", "description": "Simple hello world sample in Node", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js" }, "author": "Google LLC", "license": "Apache-2.0", "dependencies": { "express": "^4.17.1" } }

Dan yang paling penting, file di atas berisi perintah mulai skrip dan dependensi pada framework aplikasi web Express.

  1. Tekan CTRL+X, lalu Y, kemudian Enter untuk menyimpan file package.json.

  2. Berikutnya, di direktori yang sama, buat file index.js, lalu tempel baris berikut ke dalamnya:

nano index.js const express = require('express'); const app = express(); const port = process.env.PORT || 8080; app.get('/', (req, res) => { const name = process.env.NAME || 'World'; res.send(`Hello ${name}!`); }); app.listen(port, () => { console.log(`helloworld: listening on port ${port}`); });

Kode ini menghasilkan server web dasar yang memantau (listen) port yang ditentukan oleh variabel lingkungan PORT. Aplikasi Anda kini sudah jadi dan siap dimasukkan ke dalam container serta diupload ke Artifact Registry.

  1. Tekan CTRL+X, lalu Y, kemudian Enter untuk menyimpan file index.js.
Catatan: Anda dapat menggunakan bahasa pemrograman lainnya untuk mulai menggunakan Cloud Run. Petunjuk untuk skrip Go, Python, Java, PHP, Ruby, Shell, dan lainnya dapat ditemukan di Panduan memulai.

Tugas 3. Memasukkan aplikasi ke dalam container dan menguploadnya ke Artifact Registry

  1. Untuk memasukkan aplikasi sampel ke dalam container, buat file baru dengan nama Dockerfile di dalam direktori yang sama dengan file sumber, lalu tambahkan konten berikut:
nano Dockerfile # Use the official lightweight Node.js 12 image. # https://hub.docker.com/_/node FROM node:12-slim # Create and change to the app directory. WORKDIR /usr/src/app # Copy application dependency manifests to the container image. # A wildcard is used to ensure copying both package.json AND package-lock.json (when available). # Copying this first prevents re-running npm install on every code change. COPY package*.json ./ # Install production dependencies. # If you add a package-lock.json, speed your build by switching to 'npm ci'. # RUN npm ci --only=production RUN npm install --only=production # Copy local code to the container image. COPY . ./ # Run the web service on container startup. CMD [ "npm", "start" ]
  1. Tekan CTRL+X, lalu Y, kemudian Enter untuk menyimpan file Dockerfile.

  2. Sekarang, bangun image container Anda menggunakan Cloud Build dengan menjalankan perintah berikut dari direktori yang berisi Dockerfile. (Perhatikan variabel lingkungan $GOOGLE_CLOUD_PROJECT di perintah, yang berisi ID Project lab Anda):

gcloud builds submit --tag gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld

Cloud Build adalah layanan yang menjalankan build Anda di Google Cloud. Dengan satu perintah, layanan ini menjalankan serangkaian langkah build yang masing-masing dijalankan dalam container Docker untuk menghasilkan container aplikasi Anda (atau artefak lain), lalu mengirimkannya ke Artifact Registry.

Setelah dikirimkan ke registry, Anda akan melihat pesan SUCCESS yang berisi nama image (gcr.io/[PROJECT-ID]/helloworld). Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali bila diinginkan.

  1. Tampilkan daftar semua image container yang terkait dengan project saat ini menggunakan perintah berikut:
gcloud container images list
  1. Daftarkan gcloud sebagai pembantu kredensial untuk semua registry Docker yang didukung Google:
gcloud auth configure-docker Catatan: Anda mungkin akan ditanyai Do you want to continue? (Y/N)? Jika Anda ingin melanjutkan, masukkan Y untuk menyetujui.
  1. Untuk menjalankan dan menguji aplikasi secara lokal dari Cloud Shell, gunakan perintah docker standar ini:
docker run -d -p 8080:8080 gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld
  1. Di jendela Cloud Shell, klik Web preview lalu pilih Preview on port 8080.

Tindakan ini akan membuka jendela browser berisi pesan "Hello World!". Anda juga dapat menggunakan curl localhost:8080.

Tugas 4. Men-deploy ke Cloud Run

  1. Deploy aplikasi Anda yang ada di dalam container ke Cloud Run menggunakan perintah berikut, dan tambahkan ID Project Anda:
gcloud run deploy --image gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld --allow-unauthenticated --region=$LOCATION

Flag allow-unauthenticated pada perintah di atas akan membuat layanan Anda dapat diakses secara publik.

  1. Saat diminta, konfirmasi service name dengan menekan Enter.
Catatan: Anda mungkin akan ditanyai Do you want enable these APIs to continue (this will take a few minutes)? (Y/N)? Jika ya, masukkan Y untuk mengaktifkan API yang diperlukan.

Tunggu sebentar sampai proses deployment selesai.

Jika berhasil, command line akan menampilkan URL layanan:

Service [helloworld] revision [helloworld-00001-xit] has been deployed and is serving 100 percent of traffic. Service URL: https://helloworld-h6cp412q3a-uc.a.run.app

Sekarang Anda dapat melihat container yang telah di-deploy dengan membuka URL layanan di jendela browser apa pun.

Selamat! Anda telah men-deploy aplikasi yang dikemas dalam image container ke Cloud Run. Cloud Run meningkatkan skala image container secara otomatis dan horizontal untuk menangani permintaan yang diterima, lalu menurunkan skala saat permintaan berkurang. Di lingkungan Anda sendiri, Anda hanya membayar untuk CPU, memori, dan jaringan yang terpakai selama permintaan ditangani.

Untuk lab ini, Anda telah menggunakan command line gcloud. Cloud Run juga tersedia melalui Cloud Console.

  • Dari Navigation menu, di bagian Serverless, klik Cloud Run, dan layanan helloworld Anda akan ditampilkan:

Tab Cloud Run menampilkan layanan helloworld

Tugas 5. Pembersihan

Meskipun Cloud Run tidak mengenakan biaya selama layanannya tidak digunakan, Anda mungkin akan tetap ditagih atas penyimpanan image container yang telah dibuat.

  1. Anda dapat memilih untuk menghapus project Google Cloud Anda untuk menghentikan tagihan, yang artinya akan menghentikan penagihan atas semua resource yang digunakan dalam project tersebut, atau cukup hapus image helloworld Anda dengan perintah ini:
gcloud container images delete gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld
  1. Jika diminta untuk melanjutkan, ketik Y, lalu tekan Enter.

  2. Untuk menghapus layanan Cloud Run, gunakan perintah berikut:

gcloud run services delete helloworld --region={{{project_0.default_region | "REGION"}}}
  1. Jika diminta untuk melanjutkan, ketik Y, lalu tekan Enter.

Mengakhiri lab Anda

Setelah Anda menyelesaikan lab, klik Akhiri Lab. Google Cloud Skills Boost menghapus resource yang telah Anda gunakan dan membersihkan akun.

Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.

Makna jumlah bintang:

  • 1 bintang = Sangat tidak puas
  • 2 bintang = Tidak puas
  • 3 bintang = Netral
  • 4 bintang = Puas
  • 5 bintang = Sangat puas

Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.

Untuk masukan, saran, atau koreksi, gunakan tab Support.

Selamat!

Anda telah menyelesaikan lab ini!

Langkah berikutnya/pelajari lebih lanjut

Untuk mengetahui informasi selengkapnya tentang cara membangun container HTTP stateless yang cocok untuk Cloud Run dari sumber kode dan mengirimkannya ke Artifact Registry, baca artikel:

Hak cipta 2020 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia