Menyiapkan project dan cluster sendiri
Saat Anda menginstal Cloud Service Mesh menggunakan
asmcli
, Cloud Service Mesh dapat
mengonfigurasi project dan cluster untuk
Anda jika Anda menyertakan flag --enable_all
atau flag pengaktifan yang lebih terperinci.
Jika Anda lebih memilih untuk melakukan penyiapan sendiri, bukan meminta asmcli
melakukan perubahan, ikuti langkah-langkah di halaman ini.
Jika sudah menginstal Cloud Service Mesh versi sebelumnya, Anda tidak perlu membuat perubahan apa pun pada project atau cluster sebelum menggunakan asmcli
untuk mengupgrade ke versi Cloud Service Mesh terbaru.
Secara default, asmcli
tidak menginstal istio-ingressgateway
. Sebaiknya
Anda men-deploy dan mengelola bidang kontrol dan gateway secara terpisah.
Cloud Service Mesh mendukung injeksi otomatis untuk deployment gateway, yang mempermudah
upgrade Cloud Service Mesh. Setelah mengupgrade Cloud Service Mesh, Anda memulai ulang gateway seperti layanan untuk mengambil konfigurasi bidang kontrol baru.
Untuk mengetahui informasi selengkapnya, lihat
Menginstal dan mengupgrade gateway.
Sebelum memulai
- Tinjau prasyarat dan persyaratan (di luar Google Cloud, GKE)
- Merencanakan penginstalan (di luar Google Cloud, GKE) atau upgrade
- Instal alat yang diperlukan (di luar Google Cloud, GKE)
Menyiapkan project
Dapatkan project ID untuk project tempat cluster dibuat.
gcloud
Jalankan perintah berikut:
gcloud projects list
Konsol
Buka halaman Dasbor di konsol Google Cloud.
Klik menu drop-down di bagian atas halaman. Di jendela Pilih dari yang muncul, pilih project Anda.
Project ID ditampilkan di kartu Project info pada Dasbor project.
Buat variabel lingkungan untuk workload pool menggunakan project ID:
export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
Tetapkan peran Identity and Access Management (IAM) yang diperlukan. Jika Anda adalah Pemilik Project, Anda memiliki semua izin yang diperlukan untuk menyelesaikan pemasangan. Jika Anda bukan Pemilik Project, Anda memerlukan seseorang yang memiliki peran tersebut untuk memberi Anda peran IAM tertentu berikut. Dalam perintah berikut, ganti
PROJECT_ID
dengan project ID dari langkah sebelumnya danGCP_EMAIL_ADDRESS
dengan akun yang Anda gunakan untuk login ke Google Cloud.ROLES=( 'roles/servicemanagement.admin' \ 'roles/serviceusage.serviceUsageAdmin' \ 'roles/meshconfig.admin' \ 'roles/compute.admin' \ 'roles/container.admin' \ 'roles/resourcemanager.projectIamAdmin' \ 'roles/iam.serviceAccountAdmin' \ 'roles/iam.serviceAccountKeyAdmin' \ 'roles/gkehub.admin') for role in "${ROLES[@]}" do gcloud projects add-iam-policy-binding PROJECT_ID \ --member "user:GCP_EMAIL_ADDRESS" \ --role="$role" done
Jika Anda menyertakan flag
--enable_all
atau--enable_gcp_iam_roles
saat menjalankanasmcli
, flag tersebut akan menetapkan peran IAM yang diperlukan untuk Anda.Aktifkan Google API yang diperlukan:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.com
Selain
mesh.googleapis.com
, perintah ini juga mengaktifkan API berikut:API Tujuan Dapat Dinonaktifkan meshconfig.googleapis.com
Cloud Service Mesh menggunakan Mesh Configuration API untuk meneruskan data konfigurasi dari mesh Anda ke Google Cloud. Selain itu, mengaktifkan Mesh Configuration API memungkinkan Anda mengakses halaman Cloud Service Mesh di konsol Google Cloud dan menggunakan otoritas sertifikasi Cloud Service Mesh. Tidak meshca.googleapis.com
Terkait dengan Certificate Authority Cloud Service Mesh yang digunakan oleh Cloud Service Mesh terkelola. Tidak container.googleapis.com
Diperlukan untuk membuat cluster Google Kubernetes Engine (GKE). Tidak gkehub.googleapis.com
Diperlukan untuk mengelola mesh sebagai armada. Tidak monitoring.googleapis.com
Diperlukan untuk mengambil telemetri untuk beban kerja mesh. Tidak stackdriver.googleapis.com
Diperlukan untuk menggunakan UI Layanan. Tidak opsconfigmonitoring.googleapis.com
Diperlukan untuk menggunakan UI Layanan untuk cluster di luar Google Cloud. Tidak connectgateway.googleapis.com
Diperlukan agar bidang kontrol Cloud Service Mesh terkelola dapat mengakses workload mesh. Ya* trafficdirector.googleapis.com
Mengaktifkan bidang kontrol terkelola yang sangat tersedia dan skalabel. Ya* networkservices.googleapis.com
Mengaktifkan bidang kontrol terkelola yang sangat tersedia dan skalabel. Ya* networksecurity.googleapis.com
Mengaktifkan bidang kontrol terkelola yang sangat tersedia dan skalabel. Ya* Pengaktifan API dapat memerlukan waktu satu menit atau lebih. Saat API diaktifkan, Anda akan melihat output yang mirip dengan berikut ini:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished successfully.
Jika Anda menyertakan flag
--enable_all
atau--enable_apis
saat menjalankanasmcli
, API yang diperlukan akan diaktifkan untuk Anda.
Menyiapkan cluster
Jika Anda menyertakan flag --enable_all
, atau salah satu flag pengaktifan yang lebih terperinci, asmcli
akan menyiapkan cluster untuk Anda.
Lakukan inisialisasi project untuk menyiapkannya agar dapat diinstal. Di antara hal lainnya, perintah ini membuat akun layanan untuk memungkinkan komponen data plane, seperti proxy sidecar, mengakses data dan resource project Anda dengan aman. Dalam perintah berikut, ganti
FLEET_PROJECT_ID
dengan project host fleet:curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{"workloadIdentityPools":["FLEET_PROJECT_ID.hub.id.goog","FLEET_PROJECT_ID.svc.id.goog","PROJECT_ID.svc.id.goog"]}' \ "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"
Perintah ini akan direspons dengan tanda kurung kurawal kosong:
{}
Untuk GKE di cluster Google Cloud, tetapkan zona atau region default untuk Google Cloud CLI. Jika Anda tidak menetapkan default di sini, pastikan untuk menentukan opsi
--zone
atau--region
dalam perintahgcloud container clusters
di halaman ini.Jika Anda memiliki cluster zona tunggal, tetapkan zona default:
gcloud config set compute/zone CLUSTER_LOCATION
Jika Anda memiliki cluster regional, tetapkan region default:
gcloud config set compute/region CLUSTER_LOCATION
Untuk GKE di cluster Google Cloud, aktifkan Workload Identity:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --workload-pool=${WORKLOAD_POOL}
Mengaktifkan Workload Identity dapat memerlukan waktu hingga 10 hingga 15 menit.
Untuk GKE di cluster Google Cloud, aktifkan Cloud Monitoring dan Cloud Logging di GKE:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --enable-stackdriver-kubernetes
Project dan cluster Anda sekarang siap untuk penginstalan baru menggunakan asmcli
.
Langkah selanjutnya
- Menginstal alat dependen dan memvalidasi cluster di luar Google Cloud
- Menginstal alat dependen dan memvalidasi cluster di GKE