Menginstal Cloud Service Mesh untuk workload Kubernetes di luar Google Cloud
Halaman ini menjelaskan cara menginstal Cloud Service Mesh dalam cluster yang tidak dikelola untuk workload Kubernetes yang tidak diaktifkan Google Cloud:
- Jalankan
asmcliuntuk melakukan penginstalan baru Cloud Service Mesh 1.25.5-asm.7. - Secara opsional, deploy gateway masuk.
- Deploy atau deploy ulang workload Anda untuk menyuntikkan proxy sidecar.
Jika Anda perlu menginstal Cloud Service Mesh dalam cluster yang tidak dikelola dengan bidang kontrol istiod di GKE, lihat Menginstal Cloud Service Mesh dalam cluster di Google Cloud. Perhatikan bahwa untuk beban kerja Kubernetes di
Google Cloud, sebaiknya Anda
menyediakan bidang kontrol terkelola
Untuk mengetahui petunjuk cara menyiapkan penginstalan offline Cloud Service Mesh, lihat Menyiapkan penginstalan offline Cloud Service Mesh. Anda harus menentukan opsi --offline dan --output_dir saat menjalankan asmcli install.
Batasan
Perhatikan batasan berikut:
Semua cluster Cloud Service Mesh untuk satu mesh harus didaftarkan ke armada yang sama setiap saat untuk menggunakan Cloud Service Mesh. Cluster lain dalam project cluster Cloud Service Mesh tidak boleh didaftarkan ke fleet lain.
Alat
asmcliharus memiliki akses ke endpoint Google Kubernetes Engine (GKE). Anda dapat mengonfigurasi akses melalui server "jump", seperti VM Compute Engine dalam Virtual Private Cloud (VPC) yang memberikan akses tertentu.
Sebelum memulai
Sebelum memulai, pastikan Anda:
- Tinjau prasyarat.
- Tinjau informasi dalam Merencanakan penginstalan.
- Instal alat yang diperlukan.
- Download
asmcli. - Berikan izin admin cluster.
- Validasi project dan cluster.
Peran yang diperlukan untuk menginstal Cloud Service Mesh dalam cluster
Tabel berikut menjelaskan peran yang diperlukan untuk menginstal Cloud Service Mesh dalam cluster.
| Nama peran | ID Peran | Memberikan akses lokasi | Deskripsi |
|---|---|---|---|
| GKE Hub Admin | roles/gkehub.admin | Project fleet | Akses penuh ke GKE Hubs dan resource terkait. |
| Kubernetes Engine Admin | roles/container.admin | Project cluster. Perhatikan bahwa peran ini harus diberikan di project Fleet dan cluster untuk binding lintas project. | Memberikan akses ke pengelolaan penuh Cluster Container dan objek API Kubernetes-nya. |
| Mesh Config Admin | roles/meshconfig.admin | Project fleet dan cluster | Memberikan izin yang diperlukan untuk menginisialisasi komponen terkelola Cloud Service Mesh, seperti izin backend dan bidang kontrol terkelola yang memungkinkan workload berkomunikasi dengan Stackdriver tanpa perlu otorisasi satu per satu (untuk bidang kontrol terkelola dan dalam cluster). |
| Project IAM Admin | roles/resourcemanager.projectIamAdmin | Project cluster | Memberikan izin untuk mengelola kebijakan IAM di project. |
| Service Account Admin | roles/iam.serviceAccountAdmin | Project fleet | Lakukan autentikasi sebagai akun layanan. |
| Admin Pengelolaan Layanan | roles/servicemanagement.admin | Project fleet | Kontrol penuh atas resource Google Service Management. |
| Service Usage Admin | roles/serviceusage.serviceUsageAdmin | Project fleet | Kemampuan untuk mengaktifkan, menonaktifkan, dan memeriksa status layanan, memeriksa pengoperasian, serta menggunakan kuota dan penagihan untuk project konsumen.(Catatan 1) |
| CA Service Admin Beta | roles/privateca.admin | Project fleet | Akses penuh ke semua resource CA Service. (Catatan 2) |
Catatan:
- Admin Penggunaan Layanan - Peran ini diperlukan
sebagai prasyarat untuk mengaktifkan
mesh.googleapis.comAPI saat pertama kali menyediakan Cloud Service Mesh terkelola. - CA Service Admin - Peran ini hanya diperlukan jika Anda melakukan integrasi dengan CA Service.
Menginstal Cloud Service Mesh
Berikut cara menginstal Cloud Service Mesh:
Jalankan
asmcli installuntuk menginstal bidang kontrol dalam cluster di satu cluster. Lihat bagian berikut untuk contoh command line. Contoh berisi argumen wajib dan argumen opsional yang mungkin berguna bagi Anda. Sebaiknya Anda selalu menentukan argumenoutput_diragar dapat menemukan contoh gateway dan alat sepertiistioctl. Lihat menu navigasi di sebelah kanan untuk melihat daftar contoh.Secara opsional, instal gateway traffic masuk. Secara default,
asmclitidak menginstalistio-ingressgateway. Sebaiknya Anda men-deploy dan mengelola bidang kontrol dan gateway secara terpisah. Jika Anda memerlukanistio-ingressgatewaydefault yang diinstal dengan bidang kontrol dalam cluster, sertakan argumen--option legacy-default-ingressgateway.Untuk menyelesaikan penyiapan Cloud Service Mesh, Anda harus mengaktifkan penyisipan sidecar otomatis dan men-deploy atau men-deploy ulang workload.
Jika Anda menginstal Cloud Service Mesh di lebih dari satu cluster, jalankan
asmcli installdi setiap cluster. Saat menjalankanasmcli install, pastikan Anda menggunakanFLEET_PROJECT_IDyang sama untuk setiap cluster. Setelah Cloud Service Mesh diinstal, lihat petunjuk untuk menyiapkan mesh multi-cluster off Google Cloud.Jika cluster Anda berada di jaringan yang berbeda (seperti pada mode terisolasi maka Anda harus meneruskan nama jaringan unik ke
asmclimenggunakan flag--network_id.
Menginstal fitur default dan CA Mesh
Bagian ini menunjukkan cara menjalankan asmcli untuk menginstal Cloud Service Mesh dengan
fitur yang didukung default untuk platform Anda dan mengaktifkan
otoritas sertifikat Cloud Service Mesh sebagai otoritas sertifikat.
Lokal
Jalankan perintah berikut di Google Distributed Cloud (khusus software) untuk VMware atau Google Distributed Cloud (khusus software) untuk bare metal guna menginstal bidang kontrol dengan fitur default dan otoritas sertifikat Cloud Service Mesh. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--ca mesh_caGunakan otoritas sertifikat Cloud Service Mesh sebagai otoritas sertifikat.asmclimengonfigurasi otoritas sertifikat Cloud Service Mesh untuk menggunakan fleet workload identity
Untuk melihat SLO dan metrik infrastruktur di UI Cloud Service Mesh, Anda juga harus melakukan tiga langkah pertama di Mengaktifkan logging dan pemantauan aplikasi. Jika logging dan pemantauan tidak diaktifkan dan tidak menerima log dan metrik kustom, dasbor Cloud Service Mesh tidak akan menampilkan SLO, log error, atau metrik CPU dan memori.
AWS
Jalankan perintah berikut di GKE di AWS untuk menginstal bidang kontrol dengan fitur default dan otoritas sertifikat Cloud Service Mesh. Masukkan nilai Anda di tempat penampung yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--ca mesh_caGunakan otoritas sertifikat Cloud Service Mesh sebagai otoritas sertifikat.asmclimengonfigurasi otoritas sertifikat Cloud Service Mesh untuk menggunakan fleet workload identity.
Untuk melihat SLO dan metrik infrastruktur di UI Cloud Service Mesh, Anda juga harus melakukan tiga langkah pertama di Mengaktifkan logging dan pemantauan aplikasi. Jika logging dan pemantauan tidak diaktifkan dan tidak menerima log dan metrik kustom, dasbor Cloud Service Mesh tidak akan menampilkan SLO, log error, atau metrik CPU dan memori.
Azure
Jalankan perintah berikut di GKE di Azure untuk menginstal control plane dengan fitur default dan otoritas sertifikat Cloud Service Mesh. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--ca mesh_caGunakan otoritas sertifikat Cloud Service Mesh sebagai otoritas sertifikat.asmclimengonfigurasi otoritas sertifikat Cloud Service Mesh untuk menggunakan fleet workload identity.
Untuk melihat SLO dan metrik infrastruktur di UI Cloud Service Mesh, Anda juga harus melakukan tiga langkah pertama di Mengaktifkan logging dan pemantauan aplikasi. Jika logging dan pemantauan tidak diaktifkan dan tidak menerima log dan metrik kustom, dasbor Cloud Service Mesh tidak akan menampilkan SLO, log error, atau metrik CPU dan memori.
Amazon EKS
Jalankan perintah berikut di Amazon EKS untuk menginstal bidang kontrol dengan fitur default dan otoritas sertifikat Cloud Service Mesh. Masukkan nilai Anda di tempat penampung yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --network_id default \ --ca mesh_ca--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--option attached-clusterMengubah utilitas penandatanganan default menjadi istiod.--network_idJika Anda menyiapkan mesh multi-jaringan, tetapkan--network_idke nilai unik untuk setiap cluster dalam mesh.--ca mesh_caGunakan otoritas sertifikat Cloud Service Mesh sebagai otoritas sertifikat.asmclimengonfigurasi otoritas sertifikat Cloud Service Mesh untuk menggunakan fleet workload identity.
Untuk melihat SLO dan metrik infrastruktur di UI Cloud Service Mesh, Anda juga harus melakukan tiga langkah pertama di Mengaktifkan logging dan pemantauan aplikasi. Jika logging dan pemantauan tidak diaktifkan dan tidak menerima log dan metrik kustom, dasbor Cloud Service Mesh tidak akan menampilkan SLO, log error, atau metrik CPU dan memori.
Microsoft AKS
Jalankan perintah berikut di Microsoft AKS untuk menginstal bidang kontrol dengan fitur default dan otoritas sertifikat Cloud Service Mesh. Masukkan nilai Anda di tempat penampung yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --network_id default \ --ca mesh_caHUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuerMemungkinkan pendaftaran dengan GKE Hub.--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--option attached-clusterMengubah utilitas penandatanganan default menjadi istiod.--network_idJika Anda menyiapkan mesh multi-jaringan, tetapkan--network_idke nilai unik untuk setiap cluster dalam mesh.--ca mesh_caGunakan otoritas sertifikat Cloud Service Mesh sebagai otoritas sertifikat.asmclimengonfigurasi otoritas sertifikat Cloud Service Mesh untuk menggunakan fleet workload identity.
Untuk melihat SLO dan metrik infrastruktur di UI Cloud Service Mesh, Anda juga harus melakukan tiga langkah pertama di Mengaktifkan logging dan pemantauan aplikasi. Jika logging dan pemantauan tidak diaktifkan dan tidak menerima log dan metrik kustom, dasbor Cloud Service Mesh tidak akan menampilkan SLO, log error, atau metrik CPU dan memori.
Menginstal fitur default dan Layanan Certificate Authority (CA)
Bagian ini menunjukkan cara menjalankan asmcli untuk menginstal Cloud Service Mesh dengan
fitur yang didukung default untuk platform Anda dan
mengaktifkan CA Service sebagai otoritas sertifikat.
Selain otoritas sertifikat Cloud Service Mesh, Anda dapat mengonfigurasi Cloud Service Mesh untuk menggunakan Certificate Authority Service. Panduan ini memberi Anda kesempatan untuk berintegrasi dengan Layanan CA, yang direkomendasikan untuk kasus penggunaan berikut:
- Jika Anda memerlukan otoritas sertifikat yang berbeda untuk menandatangani sertifikat beban kerja di cluster yang berbeda.
- Jika Anda perlu mencadangkan kunci penandatanganan di Cloud HSM.
- Jika Anda berada di industri yang diatur dengan ketat dan tunduk pada kepatuhan.
- Jika Anda ingin mengaitkan CA Cloud Service Mesh ke sertifikat root perusahaan kustom untuk menandatangani sertifikat workload.
Biaya otoritas sertifikat Cloud Service Mesh sudah termasuk dalam harga Cloud Service Mesh. Layanan CA tidak termasuk dalam harga dasar Cloud Service Mesh dan ditagih secara terpisah. Selain itu, CA Service dilengkapi dengan SLA eksplisit, tetapi Certificate Authority Cloud Service Mesh tidak.
Mengonfigurasi CA Service
- Buat kumpulan CA
di tingkat
DevOpsdan di region yang sama dengan cluster yang dilayaninya untuk menghindari masalah latensi yang berlebihan atau potensi pemadaman lintas region. Untuk mengetahui informasi selengkapnya, lihat Tingkatan yang dioptimalkan untuk workload. - Buat CA agar memiliki setidaknya satu otoritas sertifikat aktif di kumpulan CA dalam project yang sama dengan cluster GKE. Gunakan CA subordinat untuk menandatangani sertifikat beban kerja Cloud Service Mesh. Catat kumpulan CA yang sesuai dengan subordinate CA.
Jika hanya ditujukan untuk melayani sertifikat untuk beban kerja Cloud Service Mesh, siapkan kebijakan penerbitan berikut untuk kumpulan CA:
policy.yaml
baselineValues: keyUsage: baseKeyUsage: digitalSignature: true keyEncipherment: true extendedKeyUsage: serverAuth: true clientAuth: true caOptions: isCa: false identityConstraints: allowSubjectPassthrough: false allowSubjectAltNamesPassthrough: true celExpression: expression: subject_alt_names.all(san, san.type == URI && san.value.startsWith("spiffe://PROJECT_ID.svc.id.goog/ns/") )Untuk mengupdate kebijakan penerbitan CA pool, gunakan perintah berikut:
gcloud privateca pools update CA_POOL --location ca_region --issuance-policy policy.yaml
Untuk mengetahui informasi tentang cara menetapkan kebijakan pada kumpulan, lihat Menggunakan kebijakan penerbitan sertifikat.
Jika Anda menggunakan template sertifikat, konfigurasikan sekarang. Untuk mengetahui informasi selengkapnya, ikuti panduan Layanan CA untuk sertifikat identitas workload. Pastikan template sertifikat dibuat di region yang sama dengan kumpulan CA. Jika ada beberapa region untuk kumpulan CA, buat template sertifikat per region.
Mengonfigurasi Cloud Service Mesh untuk menggunakan CA Service
Jalankan perintah berikut di Google Distributed Cloud (khusus software) untuk VMware atau Google Distributed Cloud (khusus software) untuk bare metal guna menginstal bidang kontrol dengan fitur default dan Layanan Otoritas Sertifikat. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --kubeconfig KUBECONFIG_FILE \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --enable_all \ --ca gcp_cas \ --platform multicloud \ --ca_pool projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL
--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--ca gcp_casGunakan Certificate Authority Service sebagai otoritas sertifikat. Mengubah certificate authority selama upgrade menyebabkan periode nonaktif.asmclimengonfigurasi Certificate Authority Service untuk menggunakan fleet workload identity--ca_poolID lengkap untuk Certificate Authority Service CA Pool. Jika Anda menggunakan template sertifikat, tambahkan ID template yang dipisahkan dengan:. Contoh:--ca_pool projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL:projects/CA_POOL_PROJECT_ID/locations/ca_region/certificateTemplates/CERT_TEMPLATE_ID
Untuk melihat SLO dan metrik infrastruktur di UI Cloud Service Mesh, Anda juga harus melakukan tiga langkah pertama di Mengaktifkan logging dan pemantauan aplikasi. Jika logging dan pemantauan tidak diaktifkan dan tidak menerima log dan metrik kustom, dasbor Cloud Service Mesh tidak akan menampilkan SLO, log error, atau metrik CPU dan memori.
Menginstal fitur default dengan Istio CA
Bagian ini menjelaskan cara:
- Buat sertifikat dan kunci untuk CA Istio yang digunakan Cloud Service Mesh untuk menandatangani workload Anda.
- Jalankan
asmcliuntuk menginstal Cloud Service Mesh dengan fitur default dan mengaktifkan Istio CA.
Secara default, lingkungan yang menginstal Cloud Service Mesh dengan CA Istio melaporkan metrik ke Prometheus. Jika ingin menggunakan dasbor Cloud Service Mesh, Anda harus mengaktifkan Stackdriver. Untuk mengetahui informasi selengkapnya, lihat Menginstal dengan fitur opsional.
Untuk keamanan terbaik, sebaiknya pertahankan root CA offline dan gunakan CA subordinat untuk menerbitkan sertifikat bagi setiap cluster. Untuk mengetahui informasi selengkapnya, lihat Menyambungkan Sertifikat CA. Dalam konfigurasi ini, semua workload di service mesh menggunakan root certificate authority (CA) yang sama. Setiap CA Cloud Service Mesh menggunakan kunci dan sertifikat penandatanganan CA perantara, yang ditandatangani oleh CA root. Jika ada beberapa CA dalam mesh, hal ini akan membentuk hierarki kepercayaan di antara CA. Anda dapat mengulangi langkah-langkah ini untuk menyediakan sertifikat dan kunci untuk sejumlah otoritas sertifikat.
Makefile untuk membuat sertifikat terletak di subdirektori
istio-1.25.5-asm.7 dalam direktori --output_dir yang Anda
tentukan dalam perintah asmcli validate. Jika Anda tidak menjalankan asmcli validate,
atau Anda tidak memiliki direktori yang didownload secara lokal, Anda bisa mendapatkan Makefile dengan
mendownload file penginstalan Cloud Service Mesh
dan mengekstrak isinya.
Ubah ke direktori
istio-1.25.5-asm.7.Buat direktori untuk sertifikat dan kunci:
mkdir -p certs && \ pushd certs
Buat sertifikat dan kunci root:
make -f ../tools/certs/Makefile.selfsigned.mk root-ca
Tindakan ini akan menghasilkan file berikut:
- root-cert.pem: root certificate
- root-key.pem: kunci root
- root-ca.conf: konfigurasi untuk openssl dalam membuat sertifikat root
- root-cert.csr: CSR untuk root certificate
Buat sertifikat dan kunci perantara:
make -f ../tools/certs/Makefile.selfsigned.mk cluster1-cacerts
Tindakan ini akan menghasilkan file-file tersebut dalam direktori bernama
cluster1:- ca-cert.pem: intermediate certificate
- ca-key.pem: kunci perantara
- cert-chain.pem: rantai sertifikat yang digunakan
istiod - root-cert.pem: root certificate
Jika Anda melakukan langkah-langkah ini menggunakan komputer offline, salin direktori yang dihasilkan ke komputer dengan akses ke cluster.
Kembali ke direktori sebelumnya:
popd
Jalankan
asmcliuntuk menginstal mesh menggunakan CA Istio:Lokal
Jalankan perintah berikut di Google Distributed Cloud (khusus software) untuk VMware atau Google Distributed Cloud (khusus software) untuk bare metal guna menginstal panel kontrol dengan fitur default dan CA Istio. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate--ca_keyKunci untuk intermediate certificate--root_certRoot certificate--cert_chainRantai sertifikat
AWS
Jalankan perintah berikut di GKE di AWS untuk menginstal bidang kontrol dengan fitur default dan CA Istio. Masukkan nilai Anda di tempat penampung yang disediakan. Anda dapat memilih untuk mengaktifkan Ingress untuk subnet publik atau subnet pribadi.
Publik
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.
Pribadi
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMESimpan YAML berikut ke file bernama
istio-operator-internal-lb.yaml:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgatewayJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH \ --custom_overlay istio-operator-internal-lb.yaml--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.--custom_overlayNama file overlay yang dibuat. Untuk mengetahui informasi selengkapnya tentang file overlay, lihat Mengaktifkan fitur opsional di bidang kontrol dalam cluster
Azure
Jalankan perintah berikut di GKE di Azure untuk menginstal bidang kontrol dengan fitur default dan CA Istio. Masukkan nilai Anda di placeholder yang disediakan. Anda dapat memilih untuk mengaktifkan Ingress untuk subnet publik atau subnet pribadi.
Publik
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.
Pribadi
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMESimpan YAML berikut ke file bernama
istio-operator-internal-lb.yaml:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgatewayJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH \ --custom_overlay istio-operator-internal-lb.yaml--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.--custom_overlayNama file overlay yang dibuat. Untuk mengetahui informasi selengkapnya tentang file overlay, lihat Mengaktifkan fitur opsional di bidang kontrol dalam cluster
Amazon EKS
Jalankan perintah berikut di Amazon EKS untuk menginstal bidang kontrol dengan fitur default dan Istio CA. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --network_id default--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--option attached-clusterMengubah utilitas penandatanganan default menjadi istiod.-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate--ca_keyKunci untuk intermediate certificate--root_certRoot certificate--cert_chainRantai sertifikat--network_idJika Anda menyiapkan mesh multi-jaringan, tetapkan--network_idke nilai unik untuk setiap cluster dalam mesh.
Microsoft AKS
Jalankan perintah berikut di Microsoft AKS untuk menginstal bidang kontrol dengan fitur default dan CA Istio. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --network_id defaultHUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuerMemungkinkan pendaftaran dengan GKE Hub.--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--option attached-clusterMengubah utilitas penandatanganan default menjadi istiod.-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate--ca_keyKunci untuk intermediate certificate--root_certRoot certificate--cert_chainRantai sertifikat--network_idJika Anda menyiapkan mesh multi-jaringan, tetapkan--network_idke nilai unik untuk setiap cluster dalam mesh.
Menginstal dengan CA Istio dengan Google Cloud Observability diaktifkan
Jika ingin menggunakan dasbor Cloud Service Mesh, Anda harus mengaktifkan Stackdriver.
Lokal
Jalankan perintah berikut di Google Distributed Cloud (khusus software) untuk VMware atau Google Distributed Cloud (khusus software) untuk bare metal guna menginstal bidang kontrol dengan Stackdriver dan fitur opsional lainnya serta CA Istio. Masukkan nilai Anda di tempat penampung yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate--ca_keyKunci untuk intermediate certificate--root_certRoot certificate--cert_chainRantai sertifikat--option stackdriverMengaktifkan opsi Stackdriver. Perhatikan bahwa Anda juga dapat mengaktifkan Stackdriver dan Prometheus menggunakan--option prometheus-and-stackdriver.
Untuk melihat SLO dan metrik infrastruktur di UI Cloud Service Mesh, Anda juga harus melakukan tiga langkah pertama di Mengaktifkan logging dan pemantauan aplikasi. Jika logging dan pemantauan tidak diaktifkan dan tidak menerima log dan metrik kustom, dasbor Cloud Service Mesh tidak akan menampilkan SLO, log error, atau metrik CPU dan memori.
AWS
Jalankan perintah berikut di GKE di AWS untuk menginstal bidang kontrol dengan Stackdriver dan fitur opsional lainnya serta Istio CA. Masukkan nilai Anda di placeholder yang disediakan. Anda dapat memilih untuk mengaktifkan Ingress untuk subnet publik atau subnet pribadi.
Publik
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.--option stackdriverMengaktifkan opsi Stackdriver. Perhatikan bahwa Anda juga dapat mengaktifkan Stackdriver dan Prometheus menggunakan--option prometheus-and-stackdriver.
Pribadi
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMESimpan YAML berikut ke file bernama
istio-operator-internal-lb.yaml:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgatewayJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH --custom_overlay istio-operator-internal-lb.yaml \ --option stackdriver--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.--custom_overlayNama file overlay yang dibuat. Untuk mengetahui informasi selengkapnya tentang file overlay, lihat Mengaktifkan fitur opsional di panel kontrol dalam cluster--option stackdriverMengaktifkan opsi Stackdriver. Perhatikan bahwa Anda juga dapat mengaktifkan Stackdriver dan Prometheus menggunakan--option prometheus-and-stackdriver. Atau, Anda dapat mengaktifkan Stackdriver menggunakan--custom_overlay stackdriver.yaml. Anda harus Mendownload anthos-service-mesh-package atau membuatstackdriver.yamldari manifes yang diberikan.
Azure
Jalankan perintah berikut di GKE di Azure untuk menginstal control plane dengan Stackdriver dan fitur opsional lainnya serta CA Istio. Masukkan nilai Anda di placeholder yang disediakan. Anda dapat memilih untuk mengaktifkan Ingress untuk subnet publik atau subnet pribadi.
Publik
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.--option stackdriverMengaktifkan opsi Stackdriver. Perhatikan bahwa Anda juga dapat mengaktifkan Stackdriver dan Prometheus menggunakan--option prometheus-and-stackdriver.
Pribadi
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMESimpan YAML berikut ke file bernama
istio-operator-internal-lb.yaml:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgatewayJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH --custom_overlay istio-operator-internal-lb.yaml \ --option stackdriver--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate.--ca_keyKunci untuk sertifikat perantara.--root_certRoot certificate.--cert_chainRantai sertifikat.--custom_overlayNama file overlay yang dibuat. Untuk mengetahui informasi selengkapnya tentang file overlay, lihat Mengaktifkan fitur opsional di panel kontrol dalam cluster--option stackdriverMengaktifkan opsi Stackdriver. Perhatikan bahwa Anda juga dapat mengaktifkan Stackdriver dan Prometheus menggunakan--option prometheus-and-stackdriver. Atau, Anda dapat mengaktifkan Stackdriver menggunakan--custom_overlay stackdriver.yaml. Anda harus Mendownload anthos-service-mesh-package atau membuatstackdriver.yamldari manifes yang diberikan.
Amazon EKS
Jalankan perintah berikut di Amazon EKS untuk menginstal bidang kontrol dengan Stackdriver dan fitur opsional lainnya serta CA Istio. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver \ --option attached-cluster--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate--ca_keyKunci untuk intermediate certificate--root_certRoot certificate--cert_chainRantai sertifikat--option stackdriverMengaktifkan opsi Stackdriver. Perhatikan bahwa Anda juga dapat mengaktifkan Stackdriver dan Prometheus menggunakan--option prometheus-and-stackdriver.--option stackdriverMengubah utilitas penandatanganan default menjadiistiod.
Microsoft AKS
Jalankan perintah berikut di Microsoft AKS untuk menginstal bidang kontrol dengan fitur default dan CA Istio. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli install:HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver \ --option attached-clusterHUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuerMemungkinkan pendaftaran dengan GKE Hub.--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
-ca citadelGunakan Istio CA sebagai certificate authority.--ca_certIntermediate certificate--ca_keyKunci untuk intermediate certificate--root_certRoot certificate--cert_chainRantai sertifikat--option stackdriverMengaktifkan opsi Stackdriver. Perhatikan bahwa Anda juga dapat mengaktifkan Stackdriver dan Prometheus menggunakan--option prometheus-and-stackdriver.--option stackdriverMengubah utilitas penandatanganan default menjadiistiod.
Menginstal dengan fitur opsional
File overlay adalah file YAML yang berisi resource kustom IstioOperator (CR) yang Anda teruskan ke asmcli untuk mengonfigurasi bidang kontrol. Anda dapat
mengganti konfigurasi bidang kontrol default dan
mengaktifkan fitur opsional dengan meneruskan
file YAML ke asmcli. Anda dapat melapisi lebih banyak overlay, dan setiap file overlay menggantikan konfigurasi pada lapisan sebelumnya. Sebagai praktik terbaik, sebaiknya Anda menyimpan file overlay di sistem kontrol versi.
Ada dua opsi untuk mengaktifkan fitur opsional:
--option dan
--custom_overlay.
Gunakan --option jika Anda tidak perlu mengubah file overlay. Dengan metode ini, asmclimengambil file dari
repositori GitHub untuk Anda.
Gunakan --custom_overlay saat Anda perlu menyesuaikan file overlay.
Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan fitur opsional di bidang kontrol dalam cluster.
Jalankan perintah berikut di Google Distributed Cloud (khusus software) untuk VMware, Google Distributed Cloud (khusus software) untuk bare metal, GKE di AWS, GKE di Azure, Amazon EKS, atau Microsoft AKS. Masukkan nilai Anda di placeholder yang disediakan.
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan
asmcli installuntuk menginstal bidang kontrol dengan fitur opsional. Untuk menambahkan beberapa file, tentukan--custom_overlaydan nama file, misalnya:--custom_overlayoverlay_file1.yaml --custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca \ --custom_overlay OVERLAY_FILE--fleet_idProject ID project host fleet.--kubeconfigJalur lengkap kekubeconfigfile. Variabel lingkungan$PWDtidak berfungsi di sini. Selain itu, lokasi filekubeconfigrelatif yang menggunakan `~` tidak akan berfungsi.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketanthos-service-meshdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.-
--enable_allMengizinkan skrip untuk:- Berikan izin IAM yang diperlukan.
- Aktifkan Google API yang diperlukan.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Daftarkan cluster ke fleet jika belum terdaftar.
--ca mesh_caGunakan Certificate Authority Cloud Service Mesh sebagai Certificate Authority. Perhatikan bahwaasmclimengonfigurasi otoritas sertifikat Cloud Service Mesh untuk menggunakan fleet Workload Identity--custom_overlayTentukan nama file overlay.
Menginstal gateway
Cloud Service Mesh memberi Anda opsi untuk men-deploy dan mengelola gateway sebagai bagian dari mesh layanan Anda. Gateway menjelaskan load balancer yang beroperasi di tepi mesh yang menerima koneksi HTTP/TCP masuk atau keluar. Gateway adalah proxy Envoy yang memberi Anda kontrol terperinci atas traffic yang masuk dan keluar dari mesh.
Buat namespace untuk gateway ingress jika Anda belum memilikinya. Gateway adalah workload pengguna, dan sebagai praktik terbaik, gateway tidak boleh di-deploy di namespace bidang kontrol. Ganti
GATEWAY_NAMESPACEdengan nama namespace Anda.kubectl create namespace GATEWAY_NAMESPACEOutput yang diharapkan:
namespace/GATEWAY_NAMESPACE createdAktifkan injeksi otomatis di gateway. Langkah-langkah yang diperlukan bergantung pada apakah Anda ingin menggunakan label injeksi default (misalnya,
istio-injection=enabled) atau label revisi di namespace gateway. Tag revisi dan label revisi default digunakan oleh webhook penyuntik sidecar untuk mengaitkan proxy yang disuntikkan dengan revisi bidang kontrol tertentu.Default (direkomendasikan)
Jika Anda menggunakan revisi tag default untuk mengaktifkan penyisipan otomatis di gateway, pastikan tag default ada di direktori yang Anda tentukan di
--output_dirdan mengarah ke revisi yang baru diinstal.DIR_PATH/istioctl tag listTerapkan label injeksi default ke namespace.
kubectl label namespace GATEWAY_NAMESPACE istio-injection=enabled istio.io/rev-
Label revisi
Gunakan perintah berikut untuk menemukan label revisi di
istiod:kubectl get deploy -n istio-system -l app=istiod -o \ "jsonpath={.items[*].metadata.labels['istio\.io/rev']}{'\n'}"Perintah ini menampilkan label revisi yang sesuai dengan versi Cloud Service Mesh, misalnya:
asm-1255-7Terapkan label revisi ke namespace. Dalam perintah berikut,
REVISIONadalah nilai label revisiistiodyang Anda catat di langkah sebelumnya.kubectl label namespace GATEWAY_NAMESPACE \ istio.io/rev=REVISION --overwriteOutput yang diharapkan:
namespace/GATEWAY_NAMESPACE labeled
Anda dapat mengabaikan pesan
"istio.io/rev" not founddalam output. Artinya, namespace sebelumnya tidak memiliki labelistio.io/rev, yang seharusnya Anda harapkan dalam penginstalan baru Cloud Service Mesh atau deployment baru. Karena injeksi otomatis gagal jika namespace memiliki labelistio.io/revdanistio-injection, semua perintahkubectl labeldalam dokumentasi Cloud Service Mesh secara eksplisit menentukan kedua label.Jika namespace gateway tidak diberi label, pod
istio-ingressgatewayakan gagal dengan errorImagePullBackOffsaat gateway mencoba menarik dan imageauto. Gambar ini harus diganti oleh webhook.Download contoh file konfigurasi .yaml gateway ingress dari repositori
anthos-service-mesh-packages.Terapkan konfigurasi .yaml gateway ingress contoh apa adanya, atau ubah sesuai kebutuhan.
kubectl apply -n GATEWAY_NAMESPACE \ -f CONFIG_PATH/istio-ingressgatewayOutput yang diharapkan:
deployment.apps/istio-ingressgateway created poddisruptionbudget.policy/istio-ingressgateway created horizontalpodautoscaler.autoscaling/istio-ingressgateway created role.rbac.authorization.k8s.io/istio-ingressgateway created rolebinding.rbac.authorization.k8s.io/istio-ingressgateway created service/istio-ingressgateway created serviceaccount/istio-ingressgateway created
Pelajari lebih lanjut praktik terbaik untuk gateway.
Men-deploy dan men-deploy ulang workload
Cloud Service Mesh menggunakan proxy sidecar untuk meningkatkan keamanan, keandalan, dan kemampuan observasi jaringan. Dengan Cloud Service Mesh, fungsi ini diabstraksi dari penampung utama aplikasi dan diimplementasikan dalam proxy di luar proses umum yang dikirimkan sebagai penampung terpisah dalam Pod yang sama.
Penginstalan Anda belum selesai hingga Anda mengaktifkan injeksi proxy sidecar otomatis (injeksi otomatis) dan memulai ulang Pod untuk beban kerja apa pun yang berjalan di cluster Anda sebelum Anda menginstal Cloud Service Mesh.
Untuk mengaktifkan penyisipan otomatis, Anda memberi label pada namespace dengan
label penyisipan default
jika tag default disiapkan, atau label revisi
yang ditetapkan di istiod saat Anda menginstal Cloud Service Mesh. Tag revisi
dan label revisi default digunakan oleh webhook injector sidecar untuk mengaitkan
sidecar yang disuntikkan dengan revisi istiod. Setelah menambahkan label, semua Pod yang ada di namespace harus dimulai ulang agar sidecar dapat disuntikkan.
Sebelum men-deploy beban kerja baru di namespace baru, pastikan untuk mengonfigurasi penyuntikan otomatis agar Cloud Service Mesh dapat memantau dan mengamankan traffic.
Langkah-langkah yang diperlukan untuk mengaktifkan penyisipan otomatis bergantung pada apakah Anda ingin menggunakan label penyisipan default atau label revisi:
Default (Direkomendasikan)
Jika Anda menggunakan revisi tag default untuk mengaktifkan penyisipan otomatis di gateway, pastikan tag default ada di direktori yang Anda tentukan di
--output_dirdan mengarah ke revisi yang baru diinstal.DIR_PATH/istioctl tag listJalankan perintah berikut.
NAMESPACEadalah nama namespace tempat Anda ingin mengaktifkan injeksi otomatis.kubectl label namespace NAMESPACE istio-injection=enabled istio.io/rev-
Label penyisipan default menyisipkan revisi yang dituju oleh tag default.
Label revisi
Gunakan perintah berikut untuk menemukan label revisi di
istiod:kubectl -n istio-system get pods -l app=istiod --show-labelsOutputnya terlihat mirip dengan yang berikut ini:
NAME READY STATUS RESTARTS AGE LABELS istiod-asm-1255-7-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-1255-7,istio=istiod,pod-template-hash=5788d57586 istiod-asm-1255-7-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-1255-7,istio=istiod,pod-template-hash=5788d57586
Dalam output, di kolom
LABELS, catat nilai label revisiistiodyang mengikuti awalanistio.io/rev=. Dalam contoh ini, nilainya adalahasm-1255-7.Terapkan label revisi dan hapus label
istio-injectionjika ada. Pada perintah berikut,NAMESPACEadalah nama namespace tempat Anda ingin mengaktifkan penyuntikan otomatis, danREVISIONadalah label revisi yang Anda catat pada langkah sebelumnya.kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwriteAnda dapat mengabaikan pesan
"istio-injection not found"dalam output. Artinya, namespace sebelumnya tidak memiliki labelistio-injection, yang akan Anda lihat di penginstalan Cloud Service Mesh baru atau deployment baru. Karena perilaku injeksi otomatis tidak ditentukan saat namespace memiliki label revisi danistio-injection, semua perintahkubectl labeldalam dokumentasi Cloud Service Mesh secara eksplisit memastikan bahwa hanya satu yang ditetapkan.
Jika beban kerja berjalan di cluster Anda sebelum Anda menginstal Cloud Service Mesh, mulai ulang Pod untuk memicu penyisipan ulang.
Cara Anda memulai ulang Pod bergantung pada aplikasi dan lingkungan tempat cluster berada. Misalnya, di lingkungan penyiapan, Anda dapat menghapus semua Pod, yang akan menyebabkan Pod dimulai ulang. Namun, di lingkungan produksi, Anda mungkin memiliki proses yang menerapkan deployment biru-hijau sehingga Anda dapat memulai ulang Pod dengan aman untuk menghindari gangguan traffic.
Anda dapat menggunakan
kubectluntuk melakukan mulai ulang bertahap:kubectl rollout restart deployment -n NAMESPACE
Apa langkah selanjutnya?
Jika mesh Anda terdiri dari cluster di luar Google Cloud, lihat Menyiapkan mesh multi-cluster di luar Google Cloud.