Men-deploy konfigurasi Endpoint

Setelah mengonfigurasi file .proto dan file konfigurasi gRPC API, Anda men-deploy-nya sehingga Cloud Endpoints memiliki informasi yang diperlukan untuk mengelola API Anda. Untuk men-deploy konfigurasi Endpoints, Anda menggunakan perintah gcloud endpoints services deploy. Perintah ini menggunakan Service Infrastructure, platform layanan dasar Google, yang digunakan oleh Endpoints dan layanan lainnya untuk membuat dan mengelola API serta layanan. Halaman ini menjelaskan cara men-deploy file konfigurasi ke Endpoints.

Prasyarat

Sebagai titik awal, halaman ini mengasumsikan bahwa Anda telah:

Menyiapkan Google Cloud CLI untuk deployment

Anda menggunakan alat command line gcloud untuk men-deploy konfigurasi. Lihat Referensi gcloud untuk mengetahui informasi selengkapnya tentang perintah.

Untuk mempersiapkan deployment:

  1. Menginstal dan melakukan inisialisasi gcloud CLI.
  2. Update gcloud CLI:
    gcloud components update
  3. Pastikan gcloud CLI diberi otorisasi untuk mengakses data dan layanan Anda:
    gcloud auth login

    Tab browser baru akan terbuka dan Anda akan diminta untuk memilih akun.

  4. Tetapkan project default. Ganti [YOUR-PROJECT-ID] dengan project ID GCP Anda
    gcloud config set project [YOUR-PROJECT-ID]
  5. Jika Anda akan men-deploy backend API ke Kubernetes atau Kubernetes Engine, jalankan perintah berikut untuk mendapatkan kredensial pengguna baru yang akan digunakan untuk Kredensial Default Aplikasi. Kredensial pengguna diperlukan untuk memberikan otorisasi kubectl.
    gcloud auth application-default login
    Tab browser baru akan terbuka dan Anda akan diminta untuk memilih akun.

Men-deploy file konfigurasi

  1. 确保您位于 api_descriptor.pb 和 api_config.yaml 文件所在的目录中。
  2. 确认 gcloud 命令行工具当前使用的默认项目是您要向其部署 Endpoints 配置的 Google Cloud 项目。验证从以下命令返回的项目 ID,以确保不会在错误的项目中创建服务。
    gcloud config list project
    

    如果您需要更改默认项目,请运行以下命令:

    gcloud config set project YOUR_PROJECT_ID
    
  3. 使用 Google Cloud CLI 部署 proto descriptor 文件和配置文件:
    gcloud endpoints services deploy api_descriptor.pb api_config.yaml
    

    在创建和配置服务时,Service Management 会向终端输出信息。部署完成后,系统将显示如下所示的消息:

    Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]

    CONFIG_ID 是部署创建的唯一 Endpoints 服务配置 ID。例如:

    Service Configuration [2017-02-13r0] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
    

    在前面的示例中,2017-02-13r0 是服务配置 ID,bookstore.endpoints.example-project.cloud.goog 是服务名称。服务配置 ID 由日期戳后跟一个修订版本号组成。如果您在同一天再次部署 Endpoints 配置,服务配置 ID 中的修订版本号将递增。

Jika konfigurasi layanan Anda ada di beberapa file YAML, Anda dapat meneruskannya semua ke perintah deploy. Misalnya, Bookstore memiliki konfigurasi dasarnya di api_config.yaml, tetapi Anda dapat mengaktifkan transkode HTTP untuk layanan dengan juga men-deploy api_config_http.yaml, yang memiliki konfigurasi tambahan untuk fitur ini:

gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml

Perhatikan bahwa jika ada nilai yang bertentangan dalam file YAML, nilai dalam file yang terakhir ditentukan akan menggantikan nilai lainnya. Anda dapat mengetahui lebih lanjut cara Endpoints menangani penggabungan beberapa file YAML di Mengonfigurasi layanan gRPC.

Jika Anda menerima pesan error, lihat Memecahkan masalah deployment konfigurasi Endpoints untuk mengetahui informasi tentang cara memecahkan masalah error tersebut.

Men-deploy ulang

Setiap kali Anda mengubah sesuatu dalam file YAML konfigurasi layanan atau .proto, deploy ulang file agar Extensible Service Proxy (ESP) memiliki konfigurasi layanan API Anda versi terbaru. Jika sebelumnya Anda men-deploy ESP dengan opsi rollout disetel ke managed, Anda tidak perlu memulai ulang atau men-deploy ulang ESP. Opsi rollout=managed mengonfigurasi ESP untuk menggunakan konfigurasi layanan terbaru yang di-deploy. Saat Anda menentukan opsi ini, hingga 5 menit setelah Anda men-deploy konfigurasi layanan baru, ESP akan mendeteksi perubahan dan otomatis mulai menggunakannya. Sebaiknya tentukan opsi ini, bukan ID konfigurasi tertentu yang akan digunakan ESP.

Setelah deployment konfigurasi Endpoints awal, Anda dapat memberikan peran kepada pengguna, akun layanan, atau grup yang memungkinkan mereka men-deploy ulang konfigurasi Endpoints. Lihat Memberikan dan mencabut akses ke API untuk mengetahui informasi selengkapnya.

Langkah berikutnya