O Istio estende a API do Kubernetes com recursos personalizados, como VirtualService e Gateway. O SDK do Alibaba Cloud Service Mesh (ASM) permite crie, consultar, atualize e exclua esses recursos diretamente em código Java ou Go.
Pré-requisitos
Antes de começar, verifique se você tem:
Defina um VirtualService e um Gateway
Antes de integrar o SDK, defina os recursos do Istio que direcionam o tráfego externo para a aplicação Bookinfo.
VirtualService
Crie um arquivo chamado 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
Esse VirtualService direciona as requisições HTTP recebidas para o serviço productpage na porta 9080. A configuração abrange cinco padrões de URI: a página do produto, ativos estáticos, endpoints de login e logout, além da API de produtos.
Gateway
Crie um arquivo chamado 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:
- "*"
Esse Gateway se vincula ao gateway de entrada na porta 80 e aceita tráfego HTTP de todos os hosts. O VirtualService referencia esse Gateway pelo nome (bookinfo-gateway).
Integre o ASM SDK
Após definir o VirtualService e o Gateway, use o ASM SDK para gerencie esses recursos via código.
|
Linguagem |
Guia |
|
Java |
|
|
Go |