Meshes

A tela Meshes mostra a listagem de meshes que estão presentes em seus clusters e que podem ser gerenciados pelo Sensedia Service Mesh.

meshes

Um mesh gerenciável se caracteriza como um namespace de um cluster Kubernetes com label do Istio habilitada.

Quando uma label do Istio é habilitada, proxies são injetadas nos pods de serviços. Isso é feito por meio do comando kubectl label namespace <namespace> istio-injection=enabled.

Você pode ler mais sobre isso na documentação do Istio.

Você pode selecionar o cluster que deseja operar no campo Cluster:, localizado no canto superior direito da tela.

Permissões de acesso

As ações que você poderá realizar nesta tela dependem das permissões definidas para seu usuário no Sensedia Access Control.

A tabela a seguir apresenta as permissões possíveis e as respectivas ações:

Permissão Descrição

List Meshes

Com esta permissão, o usuário poderá visualizar a lista com todos os meshes disponíveis. Poderá também utilizar os filtros de listagem disponíveis nesta tela.

Read Meshes

Permite a visualização das configurações de cada mesh, como o host e a configuração de TLS utilizada. Não possibilita, no entanto, alterar essas configurações.

Write Meshes

Permite tanto a visualização quanto a edição das configurações dos meshes.

List Services

Permite visualizar a lista de serviços dos meshes.

Read Graph

Concede acesso à visualização gráfica dos meshes na tela Graph.

List Tracing

Permite a visualização dos dados de rastreamento dos meshes na tela Tracing.

Listagem de meshes

Os meshes gerenciáveis são exibidos em cards na tela Meshes, como o deste exemplo:

meshes card

Cada card mostra o nome do mesh/namespace e sua descrição, informa se o mesh está saudável ou não (healthy ou unhealthy), a quantidade de pods, e o status — que pode ser provisionado (provisioned), não-gerenciado (unmanaged) ou com erro (error).

Um mesh não estará saudável se houver alguma configuração do Istio errada ou algum pod estiver com problemas.

Caso tenha ocorrido algum erro interno ao configurar o Mesh, ele estará com o status error.

Um mesh estará com status de provisionado quando tiver atuação da Sensedia. Um mesh visível mas sem atuação aparecerá como unmanaged. Para provisionar meshes, você deve acessar a tela de edição (veja abaixo).

Além dessas informações, os cards contêm os seguintes botões de ação:

  • icon edit, para editar o mesh (leia mais sobre isso abaixo);

  • icon services, que leva à página Services;

  • icon graph, que leva à página Graph;

  • icon tracing, que leva à página Tracing.

Visualizando um mesh

Ao clicar sobre o nome de um mesh em um card, você será levado à página de visualização do mesh, como a do exemplo abaixo:

meshes mesh view

No topo direito da tela, há os seguintes botões:

  • EDIT MESH direciona o usuário para a tela de edição do mesh. Veja mais sobre isso abaixo.

  • button graph direciona o usuário para a tela Graph com o mesh atual já selecionado no campo de filtragem.

  • button tracing direciona o usuário para a tela Tracing com o mesh atual já selecionado no campo de filtragem.

Além disso, a tela contém cinco abas para informações e configurações:

Services

A aba SERVICES exibe os serviços que compõem o mesh.

É possível filtrar a listagem dos serviços pelo nome de um serviço (ou parte dele), digitando-o no campo localizado acima à direita da lista e clicando no botão SEARCH.

Para cada serviço, é possível visualizar o seu nome (coluna NAME), sua saúde (healthy ou unhealthy, coluna HEALTH) e a data e hora em que foi criado (coluna CREATED AT).

Se você clicar sobre o nome de um serviço, será direcionado à página Services, com visualização de detalhes do serviço e possibilidade de inserir políticas.

Mesh Authentication

A aba MESH AUTHENTICATION permite configurar autenticação para todos os serviços do mesh. Isso delimita a autenticação que deverá ser feita pelo cliente para que possa realizar requisições aos serviços do mesh.

Se você ainda não houver configurado a opção, a aba conterá o botão CONFIGURE AUTHENTICATION, como neste exemplo:

meshes authentication button

Um mesh pode ter apenas uma regra de autenticação. Se já houver uma configuração salva, você poderá editá-la clicando no botão icon edit ou excluí-la pelo botão icon delete (vide imagem abaixo).

meshes authentication ex

Os campos a serem preenchidos quando uma configuração for criada ou editada são:

  • Name: o usuário deve escolher um nome para a configuração.

  • Audiences: campo selecionável a partir do que for inserido no campo Issuer. Não é obrigatório selecionar uma audience, mas se uma for selecionada, deverá constar no token do cliente.

  • Issuer: campo para inserir o endereço do provedor de OpenId Connect.

  • JKWS URI: endereço para obter as chaves JWKS.

  • EXCLUDED PATHS: campo para selecionar os paths que não requererão autenticação.

  • INCLUDED PATHS: campo para selecionar os paths que requererão autenticação.

meshes authentication fields
Configurando autenticação para o mesh

Após as configurações terem sido salvas, será necessário que o cliente se autentique no issuer inserido para poder fazer requisições aos serviços do mesh.

Mesh Security

A aba Mesh Security contém um único botão: CHANGE SECURITY SETTINGS:

meshes security

Ao clicar sobre ele, é possível marcar a opção que estabelece que a comunicação entre os serviços do mesh é por padrão desautorizada. Nesse caso, qualquer comunicação entre serviços só será permitida se houver uma política específica configurada para cada serviço a ser disponibilizado.

meshes security settings
A opção deve ser marcada para que as políticas de autorização no âmbito de serviços sejam utilizadas (Services  serviço desejado  aba AUTHORIZATION).

External Services

A aba EXTERNAL SERVICES permite configurar regras para habilitar o acesso dos serviços do mesh a serviços externos a ele. Consulte a documentação dessa funcionalidade aqui.

Metadata

A aba METADATA exibe as versões do Istio, Jaeger e Kiali utilizadas no mesh:

meshes metadata
É necessário ter Istio, Jaeger e Kiali instalados para que o mesh seja gerenciado pelo Sensedia Service Mesh.

Editando um mesh

O botão EDIT MESH na visualização de um mesh direciona o usuário para a tela de edição.

O ícone icon edit no card de um mesh (na tela inicial de listagem) leva à mesma tela de edição.

Os campos editáveis são:

  • Description: campo de descrição não obrigatório, mas recomendável para melhor identificar o mesh.

  • Host: campo para cadastrar a URL à qual o mesh responderá. Ou seja, é a porta de entrada para o mesh.

Quando o host é cadastrado, o status do mesh se torna Provisioned.
  • TLS CONFIGURATION: as configurações de TLS desta tela se referem ao gateway do mesh, ou seja, dizem respeito à autenticação necessária de cliente e servidor para que requisições externas sejam feitas ao mesh.
    meshes tls meshes mtls

    • None: a opção deve ser selecionada para expor o mesh por HTTP. Nesse caso, nenhum campo precisa ser preenchido.

    • TLS: opção para expor o mesh por HTTPS.

    • mTLS: modo opcional de autenticação no TLS no qual as duas partes se autenticam ao mesmo tempo. Ou seja, enquanto o protocolo TLS comprova a identidade do servidor para o cliente, o mutual TLS (mTLS) comprova também a identidade do cliente para o servidor.

      • Se TLS ou mTLS forem selecionados, será necessário inserir o valor do credentialName configurado nas opções do Istio (que é igual à secret do ingress gateway).

meshes edit
Campos para edição de um mesh
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]