Você está vendo a documentação do Anthos Service Mesh 1.7. Veja uma mais recente ou selecione outra versão disponível:

Como implantar o Bookinfo

Nesta página, explicamos como implantar um aplicativo de amostra no Anthos Service Mesh. Se você não tiver instalado o Anthos Service Mesh, veja a seção Guias de instalação para escolher o guia certo para você.

Vários aplicativos de exemplo vêm com a instalação do Anthos Service Mesh. Neste guia, você verá como implantar a amostra do BookInfo. Ele simula um aplicativo simples de livraria composto de quatro serviços que oferecem uma página de produto da Web, detalhes do livro, avaliações (com várias versões do serviço de avaliação) e classificações, tudo gerenciado com o Anthos Service Mesh. É possível encontrar o código-fonte e os demais arquivos usados neste exemplo no diretório da instalação do Anthos Service Mesh em samples/bookinfo.

Como implantar o aplicativo

Siga as etapas abaixo para implantar os serviços do aplicativo BookInfo com os proxies sidecar injetados junto com cada serviço.

  1. Na linha de comando do computador em que você instalou o Anthos Service Mesh, acesse a raiz do diretório de instalação do Anthos Service Mesh.

  2. Ative a injeção automática de sidecar. Use o seguinte comando para localizar o rótulo em istiod, que contém o valor do rótulo de revisão para usar em etapas posteriores.

    kubectl -n istio-system get pods -l app=istiod --show-labels

    A resposta será semelhante a:

    NAME                                READY   STATUS    RESTARTS   AGE   LABELS
    istiod-asm-173-3-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-173-3,istio=istiod,pod-template-hash=5788d57586
    istiod-asm-173-3-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-173-3,istio=istiod,pod-template-hash=5788d57586
    

    Na saída, na coluna LABELS, observe o valor do rótulo de revisão istiod, que segue o prefixo istio.io/rev=. Neste exemplo, o valor é asm-173-3.

  3. Aplique o rótulo de revisão aos namespaces. No comando a seguir, NAMESPACE é o nome do namespace em que você quer que a injeção de sidecar ocorra, e REVISION é o valor do rótulo de revisão istiod que você anotou na etapa anterior.

    kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
    
  4. Implante o aplicativo usando kubectl:

    kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
  5. Confirme se o aplicativo foi implantado corretamente executando os seguintes comandos:

    kubectl get services
    Resposta:
    NAME                       CLUSTER-IP   EXTERNAL-IP   PORT(S)              AGE
    details                    10.0.0.31    <none>        9080/TCP             6m
    kubernetes                 10.0.0.1     <none>        443/TCP              7d
    productpage                10.0.0.120   <none>        9080/TCP             6m
    ratings                    10.0.0.15    <none>        9080/TCP             6m
    reviews                    10.0.0.170   <none>        9080/TCP             6m

    e

    kubectl get pod
    Resposta:
    NAME                                        READY     STATUS    RESTARTS   AGE
    details-v1-1520924117-48z17                 2/2       Running   0          6m
    productpage-v1-560495357-jk1lz              2/2       Running   0          6m
    ratings-v1-734492171-rnr5l                  2/2       Running   0          6m
    reviews-v1-874083890-f0qf0                  2/2       Running   0          6m
    reviews-v2-1343845940-b34q5                 2/2       Running   0          6m
    reviews-v3-1813607990-8ch52                 2/2       Running   0          6m
  6. Finalmente, defina o roteamento do gateway de entrada para o aplicativo:

    kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
    

Como validar a implantação do aplicativo

Para ver se o aplicativo BookInfo está funcionando, envie o tráfego para o gateway de entrada.

  • Se você instalou o Anthos Service Mesh em clusters do Anthos no VMware, consiga o endereço IP externo do gateway de entrada configurado depois de instalar o Anthos Service Mesh

  • Se você instalou o Anthos Service Mesh no GKE, veja o endereço IP externo do gateway de entrada da seguinte maneira:

    kubectl get svc istio-ingressgateway -n istio-system
    
    Saída:
    NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                                      AGE
    istio-ingressgateway   LoadBalancer   10.19.247.233   35.239.7.64   80:31380/TCP,443:31390/TCP,31400:31400/TCP   27m

    Nesse exemplo, o endereço IP do serviço de entrada é 35.239.7.64.

Como testar o aplicativo

  1. Verifique se o aplicativo BookInfo está sendo executado com curl:

    curl -I http://EXTERNAL_IP/productpage

    Se a resposta mostrar 200, significa que o aplicativo está funcionando corretamente com o Anthos Service Mesh.

  2. Para visualizar a página da Web do BookInfo, insira o seguinte endereço no navegador:

    http://EXTERNAL_IP/productpage

    Se você atualizar a página várias vezes, verá diferentes versões das avaliações mostradas na página do produto, apresentadas em estilo round-robin (estrelas vermelhas, estrelas pretas, sem estrelas).

Agora que você tem um aplicativo que está gerando tráfego, é possível explorar as páginas do Anthos Service Mesh no Console do Cloud para ver métricas e os outros recursos de observabilidade.

A seguir

Saiba mais sobre a amostra do Bookinfo.

Como fazer a limpeza

Quando terminar de testar a amostra do Bookinfo, remova-a do cluster.

  1. Desinstale o Bookinfo usando o seguinte script:

    samples/bookinfo/platform/kube/cleanup.sh
  2. Confirme o encerramento:

    kubectl get services
    kubectl get pods

    Os pods do Bookinfo precisam ser excluídos.