Istio memperluas API Kubernetes dengan resource kustom seperti VirtualService dan Gateway. Alibaba Cloud Service Mesh (ASM) SDK memungkinkan Anda membuat, mengkueri, memperbarui, dan menghapus resource tersebut langsung dalam kode Java atau Go.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Definisikan VirtualService dan Gateway
Sebelum mengintegrasikan SDK, definisikan resource Istio yang mengarahkan lalu lintas eksternal ke aplikasi Bookinfo.
VirtualService
Buat file bernama virtualService.yaml:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: bookinfo
spec:
hosts:
- "*"
gateways:
- bookinfo-gateway
http:
- match:
- uri:
exact: /productpage
- uri:
prefix: /static
- uri:
exact: /login
- uri:
exact: /logout
- uri:
prefix: /api/v1/products
route:
- destination:
host: productpage
port:
number: 9080VirtualService ini mengarahkan permintaan HTTP masuk ke layanan productpage pada port 9080. Resource ini mencocokkan lima pola URI—halaman produk itu sendiri, aset statis, titik akhir login dan logout, serta API produk.
Gateway
Buat file bernama gateway.yaml:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: bookinfo-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"Gateway ini terikat ke ingress gateway pada port 80 dan menerima lalu lintas HTTP dari semua host. VirtualService mereferensikan Gateway ini berdasarkan namanya (bookinfo-gateway).
Integrasikan ASM SDK
Setelah VirtualService dan Gateway didefinisikan, gunakan ASM SDK untuk mengelola resource tersebut dalam kode.
Bahasa | Panduan |
Java | |
Go |