Istio étend l'API Kubernetes avec des ressources personnalisées telles que VirtualService et Gateway. Le SDK Alibaba Cloud Service Mesh (ASM) vous permet de créer, interroger, mettre à jour et supprimer ces ressources directement depuis du code Java ou Go.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Définir un VirtualService et une Gateway
Avant d'intégrer le SDK, définissez les ressources Istio qui acheminent le trafic externe vers l'application Bookinfo.
VirtualService
Créez un fichier nommé 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: 9080
Ce VirtualService achemine les requêtes HTTP entrantes vers le service productpage sur le port 9080. Il correspond à cinq modèles d'URI : la page produit elle-même, les ressources statiques, les points de terminaison de connexion et de déconnexion, ainsi que l'API des produits.
Gateway
Créez un fichier nommé 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:
- "*"
Cette Gateway se lie à la passerelle d'entrée sur le port 80 et accepte le trafic HTTP provenant de tous les hôtes. Le VirtualService fait référence à cette Gateway par son nom (bookinfo-gateway).
Intégrer le SDK ASM
Une fois le VirtualService et la Gateway définis, utilisez le SDK ASM pour gérer ces ressources dans le code.
|
Langage |
Guide |
|
Java |
Utiliser le SDK pour Java afin de gérer les ressources Istio |
|
Go |