Halaman ini menjelaskan cara melakukan penginstalan pembersihan Anthos Service Mesh versi 1.6.14 di cluster GKE. Jika Anda telah menginstal Anthos Service Mesh versi sebelumnya, lihat Mengupgrade Anthos Service Mesh di GKE.
Sebelum memulai
Sebelum menginstal Anthos Service Mesh, pastikan Anda memiliki:
- Siapkan lingkungan Anda untuk menginstal alat yang Anda perlukan.
- Siapkan project Anda untuk mengaktifkan API yang diperlukan dan menetapkan izin.
- Siapkan cluster Anda untuk mengaktifkan opsi cluster yang diperlukan.
Menetapkan kredensial dan izin
Lakukan inisialisasi project Anda agar siap untuk diinstal. Di antara hal lainnya, perintah ini membuat akun layanan yang memungkinkan komponen bidang kontrol, seperti proxy sidecar, mengakses data dan resource project Anda dengan aman:
curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data '' \ "https://meshconfig.googleapis.com/v1alpha1/projects/${PROJECT_ID}:initialize"
Perintah ini merespons dengan tanda kurung kurawal kosong:
{}
Dapatkan kredensial autentikasi untuk berinteraksi dengan cluster:
gcloud container clusters get-credentials ${CLUSTER_NAME} \ --project=${PROJECT_ID}
Berikan izin admin cluster kepada pengguna saat ini. Anda memerlukan izin berikut agar dapat membuat aturan role-based access control (RBAC) yang diperlukan untuk Anthos Service Mesh:
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user="$(gcloud config get-value core/account)"
Jika melihat error "cluster-admin-binding" already exists
, Anda dapat mengabaikannya dengan aman dan melanjutkan dengan cluster-admin-binding yang ada.
Mendownload file penginstalan
-
Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-linux-amd64.tar.gz
-
Download file tanda tangan dan gunakan
openssl
untuk memverifikasi tanda tangan:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-linux-amd64.tar.gz.1.sig openssl dgst -verify /dev/stdin -signature istio-1.6.14-asm.2-linux-amd64.tar.gz.1.sig istio-1.6.14-asm.2-linux-amd64.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
Output yang diharapkan adalah:
Verified OK
-
Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.6.14-asm.2-linux-amd64.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama
istio-1.6.14-asm.2
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh ada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
-
Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-osx.tar.gz
-
Download file tanda tangan dan gunakan
openssl
untuk memverifikasi tanda tangan:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-osx.tar.gz.1.sig openssl dgst -sha256 -verify /dev/stdin -signature istio-1.6.14-asm.2-osx.tar.gz.1.sig istio-1.6.14-asm.2-osx.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
Output yang diharapkan adalah:
Verified OK
-
Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.6.14-asm.2-osx.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama
istio-1.6.14-asm.2
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh ada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
-
Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-win.zip
-
Download file tanda tangan dan gunakan
openssl
untuk memverifikasi tanda tangan:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-win.zip.1.sig openssl dgst -verify - -signature istio-1.6.14-asm.2-win.zip.1.sig istio-1.6.14-asm.2-win.zip <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
Output yang diharapkan adalah:
Verified OK
-
Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.6.14-asm.2-win.zip
Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama
istio-1.6.14-asm.2
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh ada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
-
Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh.
cd istio-1.6.14-asm.2
-
Untuk memudahkan, tambahkan alat di direktori
/bin
ke PATH Anda:export PATH=$PWD/bin:$PATH
Linux
Mac OS
Windows
Mempersiapkan file konfigurasi resource
Saat menjalankan perintah istioctl install
, Anda menentukan
-f istio-operator.yaml
pada command line. File ini berisi informasi
tentang project dan cluster yang diperlukan Anthos Service Mesh. Anda harus mendownload
paket yang berisi istio-operator.yaml
dan file konfigurasi resource
lainnya agar dapat menetapkan informasi project dan cluster.
Untuk memulai, pilih paket yang akan didownload berdasarkan certificate authority (CA) yang ingin digunakan:
asm
: thumb_up_alt Paket ini mengaktifkan Mesh CA, yang kami rekomendasikan untuk penginstalan baru.asm-citadel
: Secara opsional, Anda dapat mengaktifkan Citadel sebagai CA. Sebelum memilih paket ini, lihat Memilih certificate authority untuk mengetahui informasi selengkapnya.
Untuk menyiapkan file konfigurasi resource:
Buat direktori baru untuk file konfigurasi resource paket Anthos Service Mesh. Sebaiknya gunakan nama cluster sebagai nama direktori.
Ubah ke direktori tempat Anda ingin mendownload paket Anthos Service Mesh.
Download paket yang ingin Anda gunakan, berdasarkan CA
Mesh CA
Download paket
asm
, yang mengaktifkan Mesh CA:kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.6-asm asm
Benteng
Download paket
asm-citadel
, yang mengaktifkan Citadel sebagai CA:kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm-citadel@release-1.6-asm asm
Tetapkan project ID untuk project tempat cluster dibuat:
kpt cfg set asm gcloud.core.project ${PROJECT_ID}
Tetapkan nomor project untuk project host fleet:
kpt cfg set asm gcloud.project.environProjectNumber ${FLEET_PROJECT_NUMBER}
Tetapkan nama cluster:
kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}
Tetapkan zona atau region default:
kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
Tetapkan webhook validasi untuk menggunakan label revisi:
kpt cfg set asm anthos.servicemesh.rev asm-1614-2
Saat menginstal Anthos Service Mesh, Anda menetapkan label revisi pada
istiod
. Anda harus menetapkan revisi yang sama pada webhook validasi.Tetapkan profil konfigurasi yang akan Anda gunakan:
Jika semua cluster Anda berada di project yang sama, tetapkan profil
asm-gcp
:kpt cfg set asm anthos.servicemesh.profile asm-gcp
Jika mesh layanan Anda berisi atau akan berisi beberapa cluster yang berada di project yang berbeda, tetapkan profil
asm-gcp-multiproject
(beta):kpt cfg set asm anthos.servicemesh.profile asm-gcp-multiproject
Jika Anda menetapkan profil
asm-gcp-multiproject
dan mendownload paketasm
, yang mengaktifkan Mesh CA, Anda perlu mengonfigurasi alias domain kepercayaan untuk project lain yang akan membentuk mesh layanan multi-cluster/multi-project. Jika tidak, lewati langkah ini.Dapatkan project ID dari semua cluster yang akan berada di mesh multi-cluster/multi-project.
Untuk setiap project ID cluster, tetapkan alias domain kepercayaan. Misalnya, jika Anda memiliki cluster di 3 project, jalankan perintah berikut dan ganti
PROJECT_ID_1
,PROJECT_ID_2
, danPROJECT_ID_3
dengan project ID setiap cluster.kpt cfg set asm anthos.servicemesh.trustDomainAliases PROJECT_ID_1.svc.id.goog PROJECT_ID_2.svc.id.goog PROJECT_ID_3.svc.id.goog
Saat mengonfigurasi cluster di project lain, Anda dapat menggunakan perintah yang sama.
Alias domain kepercayaan memungkinkan Mesh CA untuk mengautentikasi beban kerja pada cluster dalam project lain. Selain menyetel alias domain tepercaya, setelah menginstal Anthos Service Mesh, Anda harus mengaktifkan load balancing lintas cluster.
Hasilkan nilai penyetel
kpt
:kpt cfg list-setters asm
Di output dari perintah, verifikasi bahwa nilai untuk penyetel berikut sudah benar:
- anthos.servicemesh.rev
- gcloud.compute.location
- gcloud.container.cluster
- gcloud.core.project
- gcloud.project.environProjectNumber
Menginstal Anthos Service Mesh
Pastikan konteks
kubeconfig
saat ini mengarah ke cluster tempat Anda ingin menginstal Anthos Service Mesh:kubectl config current-context
Outputnya akan dalam format berikut:
gke_PROJECT_ID_CLUSTER_LOCATION_CLUSTER_NAME
Konteks
kubeconfig
dan nilai penyetelkpt
harus cocok. Jika perlu, jalankan perintahgcloud container clusters get-credentials
untuk menetapkan kontekskubeconfig
saat ini.Jika Anda menggunakan Citadel sebagai certificate authority, dan ingin menggunakan CA kustom, jalankan perintah berikut. Jika tidak, lewati ke langkah berikutnya.
kubectl create namespace istio-system
kubectl create secret generic cacerts \ -n istio-system \ --from-file=ca-cert.pem \ --from-file=ca-key.pem \ --from-file=root-cert.pem \ --from-file=cert-chain.pem
Untuk informasi selengkapnya, lihat Mencolokkan Sertifikat CA yang ada.
Jalankan perintah berikut untuk menginstal Anthos Service Mesh menggunakan profil konfigurasi yang Anda tetapkan di file
istio-operator.yaml
. Jika Anda ingin mengaktifkan fitur opsional yang didukung, sertakan-f
dan nama file YAML pada command line berikut. Lihat Mengaktifkan fitur opsional untuk mengetahui informasi selengkapnya.istioctl install \ -f asm/cluster/istio-operator.yaml \ --set revision=asm-1614-2
Argumen
--set revision
menambahkan label revisi dalam formatistio.io/rev=asm-1614-2
keistiod
. Label revisi digunakan oleh webhook injektor sidecar otomatis untuk mengaitkan file bantuan yang dimasukkan dengan revisiistiod
tertentu. Guna mengaktifkan injeksi otomatis file bantuan untuk namespace, Anda harus melabelinya dengan revisi yang cocok dengan label padaistiod
.Konfigurasikan webhook yang memvalidasi agar dapat menemukan layanan
istiod
dengan label revisi:kubectl apply -f asm/istiod-service.yaml
Perintah ini membuat entri layanan yang memungkinkan webhook yang memvalidasi secara otomatis memeriksa konfigurasi sebelum diterapkan.
Jika Anda menggunakan profil
asm-gcp
, jalankan perintah berikut untuk men-deploy pengontrol Layanan Kanonis:kubectl apply -f asm/canonical-service/controller.yaml
Perintah ini men-deploy pengontrol Layanan Kanonis ke cluster Anda. Pengontrol Layanan Kanonis mengelompokkan beban kerja yang termasuk dalam layanan logis yang sama, dan diperlukan untuk membuka fungsi tambahan di dasbor Layanan pada Konsol Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan pengontrol Layanan Kanonis.
Jika Anda menggunakan profil
asm-gcp-multiproject
, saat ini data telemetri tidak ditampilkan di dasbor Anthos Service Mesh di Konsol Google Cloud. Namun, Anda masih dapat melihat log di Cloud Logging dan metrik di Cloud Monitoring untuk setiap project.
TLS bersama otomatis (auto mTLS) diaktifkan secara default. Dengan mTLS otomatis, proxy file bantuan klien akan otomatis mendeteksi apakah server memiliki file bantuan. File bantuan klien mengirimkan mTLS ke workload dengan file bantuan dan mengirimkan traffic teks biasa ke workload tanpa sidecar.
Memeriksa komponen bidang kontrol
Pastikan pod bidang kontrol di istio-system
sudah aktif:
kubectl get pod -n istio-system
Output yang diharapkan mirip dengan berikut ini:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-cff9f5c7d-qg4ls 1/1 Running 0 7m5s istio-ingressgateway-cff9f5c7d-vlkzb 1/1 Running 0 7m20s istiod-66b587859c-886gx 1/1 Running 0 7m33s istiod-66b587859c-dfs2j 1/1 Running 0 7m33s
Memasukkan proxy file bantuan
Anthos Service Mesh menggunakan proxy file bantuan untuk meningkatkan keamanan, keandalan, dan kemampuan observasi jaringan. Dengan Anthos Service Mesh, fungsi-fungsi ini diabstraksikan dari container utama aplikasi dan diimplementasikan dalam proxy di luar proses umum yang dikirimkan sebagai container terpisah dalam Pod yang sama.
Sebelum men-deploy workload, pastikan untuk mengonfigurasi injeksi proxy sidecar sehingga Anthos Service Mesh dapat memantau dan mengamankan traffic.
Setiap beban kerja yang berjalan di cluster sebelum Anda menginstal Anthos Service Mesh harus memasukkan atau mengupdate sidecar proxy agar memiliki versi Anthos Service Mesh saat ini. Sebelum men-deploy workload baru, pastikan untuk mengonfigurasi injeksi proxy sidecar sehingga Anthos Service Mesh dapat memantau dan mengamankan traffic.
Untuk mengaktifkan injeksi otomatis file bantuan, beri label namespace dengan revisi
yang sama seperti yang Anda tetapkan pada istiod
. Jalankan perintah berikut untuk menampilkan
label pada istiod
:
kubectl -n istio-system get pods -l app=istiod --show-labels
Pastikan label revisi, istio.io/rev=asm-1614-2
, ada di
output. Ini adalah label yang Anda gunakan untuk mengaktifkan injeksi otomatis. Anda dapat mengaktifkan injeksi otomatis dengan satu perintah, misalnya:
kubectl label namespace NAMESPACE istio-injection-istio.io/rev=asm-1614-2 --overwrite
dengan NAMESPACE
adalah nama
namespace
untuk layanan aplikasi Anda, atau default
jika Anda tidak membuat
namespace secara eksplisit.
Untuk mengetahui informasi selengkapnya, lihat Memasukkan proxy file bantuan.
Melihat dasbor Anthos Service Mesh
Bagian ini hanya berlaku jika Anda menginstal Anthos Service Mesh dengan profil konfigurasi asm-gcp
. Jika Anda menggunakan profil asm-gcp-multiproject
untuk menginstal Anthos Service Mesh, data telemetri tidak akan tersedia di dasbor Anthos Service Mesh di Konsol Google Cloud.
Setelah workload di-deploy di cluster dengan proxy file bantuan dimasukkan, Anda dapat menjelajahi halaman Anthos Service Mesh di Konsol Google Cloud untuk melihat semua fitur kemampuan observasi yang ditawarkan Anthos Service Mesh. Perlu diperhatikan bahwa perlu waktu sekitar satu atau dua menit agar data telemetri ditampilkan di konsol Google Cloud setelah Anda men-deploy workload.
Akses ke Anthos Service Mesh di Konsol Google Cloud dikontrol oleh Identity and Access Management (IAM). Untuk mengakses halaman Anthos Service Mesh, Pemilik Project harus memberi pengguna peran Project Editor atau Viewer, atau peran yang lebih ketat yang dijelaskan dalam Mengontrol akses ke Anthos Service Mesh di Konsol Google Cloud.
Di konsol Google Cloud, buka Anthos Service Mesh.
Pilih project Google Cloud dari menu drop-down di panel menu.
Jika Anda memiliki lebih dari satu mesh layanan, pilih mesh dari menu drop-down Service Mesh.
Untuk mempelajari lebih lanjut, lihat Menjelajahi Anthos Service Mesh di Konsol Google Cloud.
Selain halaman Anthos Service Mesh, metrik yang terkait dengan layanan Anda (seperti jumlah permintaan yang diterima oleh layanan tertentu) dikirim ke Cloud Monitoring, yang akan muncul di Metrics Explorer.
Untuk melihat metrik:
Di konsol Google Cloud, buka halaman Monitoring:
Pilih Resource > Metrics Explorer.
Untuk mengetahui daftar lengkap metrik, lihat Metrik Istio dalam dokumentasi Cloud Monitoring.
Mendaftarkan cluster Anda
Anda harus mendaftarkan cluster ke fleet project untuk mendapatkan akses ke antarmuka pengguna terpadu di Konsol Google Cloud. Armada menyediakan cara terpadu untuk melihat dan mengelola cluster dan workload-nya, termasuk cluster di luar Google Cloud.
Baca bagian Mendaftarkan cluster ke fleet untuk mengetahui informasi tentang cara mendaftarkan cluster Anda.