
Istio adalah alat yang mudah digunakan untuk menghubungkan, melindungi dan memonitor aplikasi yang didistribusikan. Istio menggunakan berbagai teknologi untuk meluncurkan dan mengelola perangkat lunak dalam skala besar, termasuk wadah untuk kemasan kode aplikasi dan dependensi untuk penyebaran, dan Kubernetes untuk mengelola wadah ini. Oleh karena itu, untuk bekerja dengan Istio, Anda harus tahu bagaimana aplikasi dengan beberapa layanan berdasarkan teknologi ini bekerja tanpa Istio. Jika Anda sudah mengetahui alat dan konsep ini, silakan lewati panduan ini dan langsung ke Instalasi Istio di Google Kubernetes Engine (GKE) atau instal Istio pada ekstensi GKE .
Ini adalah panduan langkah demi langkah di mana kami akan melihat keseluruhan proses dari kode sumber ke sebuah wadah di GKE, sehingga Anda mendapatkan ide dasar dari teknologi ini menggunakan contoh. Anda juga akan melihat bagaimana Istio memanfaatkan teknologi ini. Diasumsikan bahwa Anda tidak tahu apa-apa tentang kontainer, Kubernetes, service mesh atau Istio.
Tugasnya
Dalam panduan ini, Anda akan menyelesaikan tugas-tugas berikut:
- Menjelajahi aplikasi hello world sederhana dengan beberapa layanan.
- Menjalankan aplikasi dari kode sumber.
- Pengepakan aplikasi dalam wadah.
- Membuat Cluster Kubernetes
- Menyebarkan kontainer ke sebuah cluster.
Sebelum Anda mulai
Ikuti instruksi untuk mengaktifkan API Kubernetes Engine:
- Buka halaman Mesin Kubernetes di konsol Google Cloud Platform.
- Buat atau pilih proyek.
- Tunggu API dan layanan terkait untuk menyala. Ini mungkin memakan waktu beberapa menit.
- Pastikan penagihan dikonfigurasi untuk proyek Google Cloud Platform. Pelajari cara mengaktifkan penagihan .
Dalam panduan ini, Anda dapat menggunakan Cloud Shell, yang menyiapkan mesin virtual g1-kecil di Google Compute Engine dengan Linux berbasis Debian, atau komputer Linux atau macOS.
Opsi A: Menggunakan Cloud Shell
Manfaat menggunakan Cloud Shell:
- Lingkungan pengembangan Python 2 dan Python 3 (termasuk virtualenv ) sepenuhnya dikustomisasi.
- Tool command-line gcloud , docker , git, dan kubectl yang akan kita gunakan sudah diinstal.
- Anda memiliki beberapa editor teks untuk dipilih:
- Editor kode yang terbuka dengan ikon edit di bagian atas jendela Cloud Shell.
- Emacs, Vim, atau Nano yang terbuka dari baris perintah di Cloud Shell.
Untuk menggunakan Cloud Shell :
- Pergi ke konsol GCP.
- Klik tombol Activate Cloud Shell di bagian atas jendela konsol GCP.

Di bagian bawah konsol GCP, di jendela baru, sesi Cloud Shell terbuka dengan baris perintah.

Opsi B: menggunakan alat baris perintah secara lokal
Jika Anda akan bekerja pada komputer dengan Linux atau macOS, Anda perlu mengkonfigurasi dan menginstal komponen-komponen berikut:
Siapkan lingkungan pengembangan Python 3 dan Python 2 Anda .
Instal Cloud SDK dengan alat baris perintah gcloud .
Instal kubectl , alat baris perintah untuk bekerja dengan Kubernetes .
gcloud components install kubectl
Instal Docker Community Edition (CE) . Anda akan menggunakan alat baris perintah buruh pelabuhan untuk membuat gambar wadah untuk aplikasi sampel.
Instal alat kontrol versi Git untuk mendapatkan contoh aplikasi dengan GitHub.
Unduh kode sampel
Unduh kode sumber helloserver :
git clone https://github.com/GoogleCloudPlatform/istio-samples
Buka direktori kode sampel:
cd istio-samples/sample-apps/helloserver
Menjelajahi aplikasi multi-layanan
Aplikasi sampel ditulis dalam Python dan terdiri dari dua komponen yang berinteraksi dengan REST :
- server : server sederhana dengan satu titik akhir GET, / , yang menampilkan "hello world" di konsol.
- loadgen : skrip yang mengirimkan lalu lintas ke server , dengan jumlah permintaan yang dapat dikonfigurasi per detik.

Menjalankan aplikasi dari sumber
Untuk mempelajari contoh aplikasi, jalankan di Cloud Shell atau di komputer.
1) Dalam direktori istio-samples / sample-apps / helloserver , jalankan server :
python3 server/server.py
Ketika server mulai, berikut ini ditampilkan:
INFO:root:Starting server...
2) Buka jendela terminal lain untuk mengirim permintaan ke server . Jika Anda menggunakan Cloud Shell, klik ikon tambahkan untuk membuka sesi lain.
3) Kirim permintaan ke server :
curl http://localhost:8080
jawaban server:
Hello World!
4) Dari direktori tempat Anda mengunduh kode sampel, buka direktori yang berisi loadgen :
cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/loadgen
5) Buat variabel lingkungan berikut:
export SERVER_ADDR=http://localhost:8080 export REQUESTS_PER_SECOND=5
6) Jalankan virtualenv :
virtualenv --python python3 env
7) Aktifkan lingkungan virtual:
source env/bin/activate
8) Tetapkan persyaratan untuk loadgen :
pip3 install -r requirements.txt
9) Jalankan loadgen :
python3 loadgen.py
Ketika mulai, loadgen menampilkan pesan berikut:
Starting loadgen: 2019-05-20 10:44:12.448415 5 request(s) complete to http://localhost:8080
Di jendela terminal lain, server menampilkan pesan-pesan berikut ke konsol:
127.0.0.1 - - [21/Jun/2019 14:22:01] "GET / HTTP/1.1" 200 - INFO:root:GET request, Path: / Headers: Host: localhost:8080 User-Agent: python-requests/2.22.0 Accept-Encoding: gzip, deflate Accept: */*
Dari perspektif jaringan, seluruh aplikasi berjalan pada host yang sama (komputer lokal atau mesin virtual Cloud Shell). Oleh karena itu, Anda dapat menggunakan localhost untuk mengirim permintaan ke server .
10) Untuk menghentikan loadgen dan server , masukkan Ctrl-c di setiap jendela terminal.
11) Di jendela terminal loadgen, nonaktifkan lingkungan virtual:
deactivate
Pengepakan aplikasi dalam wadah
Untuk menjalankan aplikasi pada GKE, Anda perlu mengemas aplikasi sampel - server dan loadgen - ke dalam wadah . Wadah adalah cara untuk mengemas aplikasi untuk mengisolasinya dari lingkungan.
Untuk mengemas aplikasi dalam sebuah wadah, Anda memerlukan Dockerfile . Dockerfile adalah file teks yang mendefinisikan perintah untuk membangun kode sumber aplikasi dan dependensinya menjadi gambar Docker. Setelah pembuatan, Anda mengunggah gambar ke registri kontainer, misalnya, Docker Hub atau Registry Container .
Contoh sudah memiliki Dockerfile untuk server dan loadgen dengan semua perintah yang diperlukan untuk merakit gambar. Di bawah ini adalah Dockerfile untuk server :
FROM python:3-slim as base FROM base as builder RUN apt-get -qq update \ && apt-get install -y --no-install-recommends \ g++ \ && rm -rf /var/lib/apt/lists/* # Enable unbuffered logging FROM base as final ENV PYTHONUNBUFFERED=1 RUN apt-get -qq update \ && apt-get install -y --no-install-recommends \ wget WORKDIR /helloserver # Grab packages from builder COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/ # Add the application COPY . . EXPOSE 8080 ENTRYPOINT [ "python", "server.py" ]
- The FROM python: 3-slim as base command memberitahu Docker untuk menggunakan gambar Python 3 terbaru sebagai basis.
- Tim COPY. . menyalin file sumber ke direktori kerja saat ini (dalam kasus kami hanya server.py ) dalam sistem file wadah.
- ENTRYPOINT mendefinisikan perintah yang digunakan untuk memulai wadah. Dalam kasus kami, perintah ini hampir sama dengan yang Anda gunakan untuk menjalankan server.py dari kode sumber.
- Perintah EXPOSE menunjukkan bahwa server mendengarkan pada port 8080 . Perintah ini tidak menyediakan port . Ini adalah semacam dokumentasi yang diperlukan untuk membuka port 8080 ketika wadah dimulai.
Mempersiapkan kontainerisasi aplikasi
1) Atur variabel lingkungan berikut. Ganti PROJECT_ID dengan pengidentifikasi proyek GCP Anda.
export PROJECT_ID="PROJECT_ID"
export GCR_REPO="preparing-istio"
Dengan menggunakan nilai PROJECT_ID dan GCR_REPO, Anda memberi tag pada gambar Docker ketika Anda mengumpulkan dan mengirimkannya ke Private Container Registry.
2) Tetapkan proyek GCP default untuk alat baris perintah gcloud .
gcloud config set project $PROJECT_ID
3) Tetapkan zona default untuk alat baris perintah gcloud .
gcloud config set compute/zone us-central1-b
4) Pastikan bahwa layanan Pendaftaran Peti Kemas termasuk dalam proyek GCP.
gcloud services enable containerregistry.googleapis.com
Server pengemasan
Ubah ke direktori tempat contoh server berada:
cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/
Bangun gambar menggunakan variabel Dockerfile dan lingkungan yang Anda tetapkan sebelumnya:
docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1 .
Opsi -t mewakili tag Docker. Ini adalah nama gambar yang Anda gunakan saat menggunakan wadah.
- Kirim gambar ke Registry Wadah:
docker push gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1
Beban kontainerisasi
1) Pergi ke direktori tempat contoh loadgen berada :
cd ../loadgen
2) Merakit gambar:
docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1 .
3) Kirim gambar ke Registry Kontainer:
docker push gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1
Lihat daftar gambar
Jelajahi daftar gambar dalam repositori dan pastikan bahwa gambar dikirim:
gcloud container images list --repository gcr.io/$PROJECT_ID/preparing-istio
Perintah menampilkan nama gambar yang baru saja dikirim:
NAME gcr.io/PROJECT_ID/preparing-istio/helloserver gcr.io/PROJECT_ID/preparing-istio/loadgen
Membuat GKE Cluster
Kontainer ini dapat dijalankan di mesin virtual Cloud Shell atau di komputer dengan perintah run docker . Tetapi dalam lingkungan produksi, Anda membutuhkan cara untuk mengatur wadah secara terpusat. Sebagai contoh, kita membutuhkan sistem yang memastikan bahwa kontainer selalu berfungsi, dan kita membutuhkan cara untuk memperbesar dan meluncurkan instance kontainer tambahan jika lalu lintas meningkat.
Anda dapat menggunakan GKE untuk menjalankan aplikasi kontainer. GKE adalah platform orkestrasi wadah yang mengelompokkan mesin virtual. Setiap mesin virtual disebut host. Cluster GKE didasarkan pada sistem manajemen cluster open source Kubernetes. Kubernetes menyediakan mekanisme untuk berinteraksi dengan cluster.
Membuat GKE Cluster:
1) Buat sebuah kluster:
gcloud container clusters create istioready \ --cluster-version latest \ --machine-type=n1-standard-2 \ --num-nodes 4
Perintah gcloud membuat klaster istioready di proyek GCP dan zona default yang Anda tentukan. Untuk memulai Istio, kami menyarankan Anda memiliki setidaknya 4 node dan mesin virtual n1-standard-2 .
Tim membuat cluster selama beberapa menit. Ketika gugus siap, perintah mengeluarkan pesan serupa.
2) Tentukan kredensial di alat baris perintah kubectl untuk menggunakannya untuk mengelola cluster:
gcloud container clusters get-credentials istioready
3) Sekarang Anda dapat berkomunikasi dengan Kubernetes melalui kubectl . Misalnya, dengan perintah berikut Anda dapat mengetahui status node:
kubectl get nodes
Perintah menampilkan daftar node:
NAME STATUS ROLES AGE VERSION gke-istoready-default-pool-dbeb23dc-1vg0 Ready <none> 99s v1.13.6-gke.13 gke-istoready-default-pool-dbeb23dc-36z5 Ready <none> 100s v1.13.6-gke.13 gke-istoready-default-pool-dbeb23dc-fj7s Ready <none> 99s v1.13.6-gke.13 gke-istoready-default-pool-dbeb23dc-wbjw Ready <none> 99s v1.13.6-gke.13
Konsep Kunci Kubernet
Diagram menunjukkan aplikasi pada GKE:

Sebelum Anda menggunakan kontainer ke GKE, lihat konsep kunci Kubernetes. Ada tautan di bagian paling akhir jika Anda ingin tahu lebih banyak.
- Node dan cluster . Dalam GKE, sebuah simpul adalah mesin virtual. Pada platform Kubernetes lainnya, host dapat berupa komputer atau mesin virtual. Cluster adalah kumpulan node yang dapat dianggap sebagai keseluruhan dan di mana Anda menyebarkan aplikasi kemas.
- Polong . Di Kubernetes, kontainer dijalankan dalam polong. Pod di Kubernetes adalah unit yang tidak dapat dibagi. Sebuah pod menampung satu atau lebih kontainer. Anda menggunakan server dan memuat kontainer di pod yang terpisah. Ketika ada beberapa kontainer di pod (misalnya, server aplikasi dan server proxy ), kontainer dikelola sebagai objek tunggal dan berbagi sumber daya pod.
- Penempatan . Di Kubernetes, penyebaran adalah objek yang merupakan kumpulan dari pod yang identik. Deployment menjalankan beberapa replika polong yang didistribusikan di seluruh node cluster. Penempatan secara otomatis menggantikan pod yang gagal atau tidak merespons.
- Layanan Kubernetes . Ketika Anda menjalankan kode aplikasi di GKE, koneksi antara loadgen dan server berubah. Ketika Anda memulai layanan di mesin virtual Cloud Shell atau di komputer, Anda mengirim permintaan ke server di localhost: 8080 . Setelah penyebaran ke GKE, pod dijalankan di node yang tersedia. Secara default, Anda tidak dapat mengontrol apa yang dijalankan pod host, sehingga pod tidak memiliki alamat IP permanen.
Untuk mendapatkan alamat IP server , Anda perlu menentukan abstraksi jaringan di atas pod. Ini adalah layanan Kubernetes . Layanan Kubernetes menyediakan titik akhir permanen untuk satu set pod. Ada beberapa jenis layanan . server menggunakan LoadBalancer , yang menyediakan alamat IP eksternal untuk menghubungi server dari luar cluster.
Kubernetes juga memiliki sistem DNS bawaan yang memberikan nama DNS (misalnya, helloserver.default.cluster.local ) ke layanan. Berkat ini, pod di dalam cluster berkomunikasi dengan pod lain di cluster di alamat tetap. Nama DNS tidak dapat digunakan di luar cluster, seperti di Cloud Shell atau di komputer.
Kubernetes Terwujud
Ketika Anda memulai aplikasi dari kode sumber, Anda menggunakan perintah imperatif python3
server.py
Imperative menyiratkan kata kerja: "do it."
Kubernetes menggunakan model deklaratif . Ini berarti bahwa kami tidak memberi tahu Kubernetes apa yang sebenarnya perlu dilakukan, tetapi jelaskan keadaan yang diinginkan. Sebagai contoh, Kubernetes memulai dan menghentikan pod yang diperlukan, sehingga kondisi aktual sistem sesuai yang diinginkan.
Anda menentukan status yang diinginkan dalam manifes, atau file YAML . File YAML berisi spesifikasi untuk satu atau lebih objek Kubernetes.
Contoh ini berisi file YAML untuk server dan loadgen . Setiap file YAML menunjukkan keadaan yang diinginkan dari objek penyebaran dan layanan Kubernetes.
server.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: helloserver spec: selector: matchLabels: app: helloserver replicas: 1 template: metadata: labels: app: helloserver spec: terminationGracePeriodSeconds: 5 restartPolicy: Always containers: - name: main image: gcr.io/google-samples/istio/helloserver:v0.0.1 imagePullPolicy: Always
- kind menunjukkan tipe objek.
- metadata.name menunjukkan nama penyebaran.
- Spesifikasi bidang pertama berisi deskripsi kondisi yang diinginkan.
- spec.replicas menunjukkan jumlah polong yang diinginkan.
- Bagian spec.template mendefinisikan templat pod . Dalam spesifikasi pod ada bidang gambar di mana nama gambar yang akan diekstraksi dari Registry Penampung ditunjukkan.
Layanan didefinisikan sebagai berikut:
apiVersion: v1 kind: Service metadata: name: hellosvc spec: type: LoadBalancer selector: app: helloserver ports: - name: http port: 80 targetPort: 8080
- LoadBalancer : Klien mengirim permintaan ke alamat IP dari load balancer, yang memiliki alamat IP tetap dan yang dapat diakses dari luar cluster.
- targetPort : seperti yang Anda ingat, perintah EXPOSE 8080 di Dockerfile tidak menyediakan port. Anda menyediakan port 8080 sehingga Anda bisa mencapai wadah server dari luar cluster. Dalam kasus kami, hellosvc.default.cluster.local: 80 (nama pendek: hellosvc ) berhubungan dengan port 8080 dari alamat IP pod helloserver .
- port : ini adalah nomor port tempat layanan lain di cluster akan mengirim permintaan.
loadgen.yaml
Objek penyebaran di loadgen.yaml mirip dengan server.yaml . Perbedaannya adalah bahwa objek penyebaran berisi bagian env . Ini mendefinisikan variabel lingkungan yang membutuhkan loadgen dan yang Anda atur ketika Anda memulai aplikasi dari kode sumber.
apiVersion: apps/v1 kind: Deployment metadata: name: loadgenerator spec: selector: matchLabels: app: loadgenerator replicas: 1 template: metadata: labels: app: loadgenerator spec: terminationGracePeriodSeconds: 5 restartPolicy: Always containers: - name: main image: gcr.io/google-samples/istio/loadgen:v0.0.1 imagePullPolicy: Always env: - name: SERVER_ADDR value: "http://hellosvc:80/" - name: REQUESTS_PER_SECOND value: "10" resources: requests: cpu: 300m memory: 256Mi limits: cpu: 500m memory: 512Mi
Karena loadgen tidak menerima permintaan masuk, ClusterIP ditentukan untuk bidang jenis . Tipe ini memberikan alamat IP tetap yang dapat digunakan layanan di cluster, tetapi alamat IP ini tidak disediakan untuk klien eksternal.
apiVersion: v1 kind: Service metadata: name: loadgensvc spec: type: ClusterIP selector: app: loadgenerator ports: - name: http port: 80 targetPort: 8080
Menyebarkan kontainer di GKE
1) Buka direktori tempat contoh server berada:
cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/
2) Buka server.yaml dalam editor teks.
3) Ganti nama di bidang gambar dengan nama gambar Docker Anda.
image: gcr.io/PROJECT_ID/preparing-istio/helloserver:v0.0.1
Ganti PROJECT_ID dengan pengidentifikasi proyek GCP Anda.
4) Simpan dan tutup server.yaml .
5) Buka file YAML di Kubernetes:
kubectl apply -f server.yaml
Setelah berhasil diselesaikan, perintah mengeluarkan kode berikut:
deployment.apps/helloserver created service/hellosvc created
6) Pergi ke direktori di mana loadgen berada:
cd ../loadgen
7) Buka loadgen.yaml dalam editor teks.
8) Ganti nama di bidang gambar dengan nama gambar Docker Anda.
image: gcr.io/PROJECT_ID/preparing-istio/loadgenv0.0.1
Ganti PROJECT_ID dengan pengidentifikasi proyek GCP Anda.
9) Simpan dan tutup loadgen.yaml , tutup editor teks.
10) Perluas file YAML di Kubernetes:
kubectl apply -f loadgen.yaml
Setelah berhasil diselesaikan, perintah mengeluarkan kode berikut:
deployment.apps/loadgenerator created service/loadgensvc created
11) Periksa status perapian:
kubectl get pods
Perintah menunjukkan status:
NAME READY STATUS RESTARTS AGE helloserver-69b9576d96-mwtcj 1/1 Running 0 58s loadgenerator-774dbc46fb-gpbrz 1/1 Running 0 57s
12) Ekstrak log aplikasi dari pod loadgen . Ganti POD_ID dengan pengidentifikasi dari jawaban sebelumnya.
kubectl logs loadgenerator-POD_ID
13) Dapatkan IP hellosvc eksternal:
kubectl get service
Respons perintah terlihat seperti ini:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hellosvc LoadBalancer 10.81.15.158 192.0.2.1 80:31127/TCP 33m kubernetes ClusterIP 10.81.0.1 <none> 443/TCP 93m loadgensvc ClusterIP 10.81.15.155 <none> 80/TCP 4m52s
14) Kirim permintaan ke hellosvc : ganti EXTERNAL_IP dengan alamat IP eksternal hellosvc .
curl http://EXTERNAL_IP
Atasi Istio
Anda sudah memiliki aplikasi yang digunakan untuk GKE. loadgen dapat menggunakan DNS Kubernetes ( hellosvc: 80 ) untuk mengirim permintaan ke server , dan Anda dapat mengirim permintaan ke server di alamat IP eksternal. Meskipun Kubernetes memiliki banyak fitur, beberapa informasi tentang layanan ini kurang:
- Bagaimana layanan berinteraksi? Apa hubungan antara layanan? Bagaimana lalu lintas antar layanan? Anda sadar bahwa loadgen mengirim permintaan ke server , tetapi bayangkan Anda tidak tahu apa-apa tentang aplikasi tersebut. Untuk menjawab pertanyaan-pertanyaan ini, kami melihat daftar menjalankan perapian di GKE.
- Metrik . Berapa lama server merespons permintaan yang masuk? Berapa banyak permintaan per detik yang masuk ke server? Apakah itu memberikan pesan kesalahan?
- Informasi Keamanan . Apakah lalu lintas antara loadgen dan server hanya melalui HTTP atau mTLS ?
Semua pertanyaan ini dijawab oleh Istio. Untuk melakukan ini, Istio menempatkan proxy sespan Utusan di setiap pod. Utusan proxy memotong semua lalu lintas masuk dan keluar ke wadah aplikasi. Ini berarti bahwa server dan loadgen menerima proxy sespan Utusan, dan semua lalu lintas dari loadgen ke server melewati proxy utusan.
Koneksi antara proxy utusan membentuk jala layanan. Arsitektur layanan jala menyediakan lapisan kontrol atas Kubernet.

Setelah proxy Utusan dieksekusi dalam wadah mereka, Istio dapat diinstal di atas cluster GKE, hampir tanpa mengubah kode aplikasi. Tetapi Anda melakukan beberapa pekerjaan untuk mempersiapkan aplikasi untuk manajemen menggunakan Istio:
- Layanan untuk semua kontainer. Penyebaran server dan loadgen ditautkan oleh layanan Kubernetes. Bahkan loadgen , yang tidak menerima permintaan masuk, memiliki layanan.
- Port-port dalam layanan harus memiliki nama. Meskipun port layanan dapat dibiarkan tanpa nama di GKE, Istio membutuhkan nama port sesuai dengan protokolnya. Dalam file YAML, port untuk server disebut http karena server menggunakan protokol HTTP . Jika layanan menggunakan gRPC , Anda akan memberi nama port grpc .
- Penempatan ditandai. Oleh karena itu, Anda dapat menggunakan fitur manajemen lalu lintas Istio, misalnya, berbagi lalu lintas antara versi layanan yang sama.
Instal Istio
Ada dua cara untuk menginstal Istio. Anda dapat mengaktifkan Istio pada ekstensi GKE atau menginstal versi open source dari Istio pada sebuah cluster. Dengan Istio di GKE, Anda dapat dengan mudah mengelola instalasi dan peningkatan Istio sebagai bagian dari siklus hidup kluster GKE. Jika Anda memerlukan versi terbaru dari Istio atau kontrol lebih besar atas konfigurasi panel kontrol Istio, instal versi open source alih-alih Istio pada ekstensi GKE. Untuk memutuskan pendekatan, baca artikel Apakah Saya Perlu Istio di GKE? .
Pilih satu opsi, pelajari manual yang sesuai dan ikuti instruksi untuk menginstal Istio di cluster. Jika Anda ingin menggunakan Istio dengan aplikasi Anda yang baru digunakan, aktifkan penyisipan sespan untuk namespace default .
Membersihkan
Untuk memastikan bahwa sumber daya untuk sumber daya yang Anda gunakan dalam panduan ini tidak didebit dari akun Google Cloud Platform Anda, hapus cluster kontainer saat menginstal Istio dan bermain-main dengan aplikasi sampel. Ini akan menghapus semua sumber daya gugus, seperti menghitung instance, disk, dan sumber daya jaringan.
Apa selanjutnya