Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Istio

Rancher-Istio foi descontinuado desde o Rancher v2.12.0; recorra à SUSE Application Collection versão do Istio para segurança aprimorada (incluída nas assinaturas do SUSE Rancher Prime). Informações detalhadas podem ser encontradas em este anúncio.

Istio é uma ferramenta de código aberto que facilita para as equipes de DevOps observar, proteger, controlar e solucionar problemas do tráfego dentro de uma rede complexa de microserviços.

À medida que uma rede de microserviços muda e cresce, as interações entre eles podem se tornar cada vez mais difíceis de gerenciar e entender. Em tal situação, é útil ter uma malha de serviços como uma camada de infraestrutura separada. A malha de serviços do Istio permite que você manipule o tráfego entre microserviços sem alterar os microserviços diretamente.

Nossa integração do Istio é projetada para que um operador do Rancher, como um administrador ou proprietário de cluster, possa fornecer o Istio a uma equipe de desenvolvedores. Então, os desenvolvedores podem usar o Istio para impor políticas de segurança, solucionar problemas ou gerenciar tráfego para implantações blue/green, implantações canário ou testes A/B.

Essa malha de serviços kernel fornece recursos que incluem, mas não se limitam a, o seguinte:

  • Gerenciamento de Tráfego como roteamento de entrada e saída, interrupção de circuito, espelhamento.

  • Segurança com recursos para autenticar e autorizar o tráfego e os usuários, mTLS incluído.

  • Observabilidade de logs, métricas e fluxos de tráfego distribuído.

Após setting up istio, você pode aproveitar a funcionalidade do plano de controle do Istio através da interface do Rancher, kubectl, ou istioctl.

O Istio precisa ser configurado por um cluster-admin antes de poder ser usado em um projeto.

Novidades no Rancher v2.5

A arquitetura geral do Istio foi simplificada. Um único componente, Istiod, foi criado ao combinar Pilot, Citadel, Galley e o injetor sidecar. A funcionalidade do Agente de Nó também foi mesclada no istio-agent.

Addons que foram instalados anteriormente pelo Istio (cert-manager, Grafana, Jaeger, Kiali, Prometheus, Zipkin) agora precisarão ser instalados separadamente. O Istio suportará a instalação de integrações que são do Projeto Istio e manterá compatibilidade com aquelas que não são.

Uma integração do Prometheus ainda estará disponível através da instalação de Rancher Monitoring, ou instalando seu próprio operador Prometheus. O gráfico do Istio do Rancher também instalará o Kiali por padrão para garantir que você possa obter uma visão completa de seus microserviços prontamente.

O Istio migrou do Helm como forma de instalar o Istio e agora fornece instalação através do binário istioctl ou do Istio Operator. Para garantir a interação mais fácil com o Istio, o Istio do Rancher manterá um gráfico Helm que utiliza o binário istioctl para gerenciar sua instalação do Istio.

Este gráfico Helm estará disponível através dos Apps e Marketplace na interface. Um usuário que tem acesso ao catálogo de gráficos do Rancher precisará configurar o Istio antes que ele possa ser usado no projeto.

Ferramentas incluídas com o Istio

Nosso instalador Istio envolve os comandos do binário istioctl em um gráfico Helm prático, incluindo uma opção de arquivo de sobreposição para permitir personalizações complexas.

Ele também inclui o seguinte:

Kiali

Kiali é uma ferramenta de visualização abrangente usada para graficar o fluxo de tráfego em toda a malha de serviços. Isso permite que você veja como eles estão conectados, incluindo as taxas de tráfego e latências entre eles.

Você pode verificar a saúde da malha de serviços ou aprofundar-se para ver as requisições de entrada e saída para um único componente.

Para instalações do Istio 103.1.0+up1.19.6 e posteriores, o Kiali usa um valor de token para sua estratégia de autenticação. O nome da conta de serviço do Kiali no Rancher é kiali. Use este nome se você estiver escrevendo comandos que exigem que você insira o nome da conta de serviço do Kiali (por exemplo, se você estiver tentando gerar ou recuperar um token de sessão). Para mais informações, consulte o FAQ de autenticação de token do Kiali.

Jaeger

Nosso instalador do Istio inclui uma instalação de início rápido All-in-One do Jaeger,, uma ferramenta usada para rastreamento de sistemas distribuídos.

Observe que esta não é uma implantação qualificada para produção do Jaeger. Esta implantação usa um componente de armazenamento em memória, enquanto um componente de armazenamento persistente é recomendado para produção. Para mais informações sobre qual estratégia de implantação você pode precisar, consulte a documentação do Jaeger.

Pré-requisitos

Antes de habilitar o Istio, recomendamos que você confirme que seus nós de trabalho do Rancher têm CPU and memory suficientes para executar todos os componentes do Istio.

Se você estiver instalando o Istio em um cluster RKE2, alguns passos adicionais são necessários. Para detalhes, veja this section.

Guia de Configuração

Consulte o setup guide para instruções sobre como configurar o Istio e usá-lo em um projeto.

Remover Istio

Para remover componentes do Istio de um cluster, namespace ou carga de trabalho, consulte a seção sobre uninstalling Istio.

Acessando Visualizações

Por padrão, apenas administradores de cluster têm acesso ao Kiali. Para instruções sobre como permitir que funções de admin, edição ou visualização acessem, veja this section.

Para instalações do Istio versão 103.1.0+up1.19.6 e posteriores, o Kiali usa um valor de token para sua estratégia de autenticação. O nome da conta de serviço do Kiali no Rancher é kiali. Use este nome se você estiver escrevendo comandos que exigem que você insira o nome da conta de serviço do Kiali (por exemplo, se você estiver tentando gerar ou recuperar um token de sessão). Para mais informações, consulte o FAQ de autenticação de token do Kiali.

Após a configuração do Istio em um cluster, o Grafana, o Prometheus e o Kiali estão disponíveis na interface do Rancher.

Para acessar as visualizações do Grafana e do Prometheus,

  1. No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.

  2. Na página Clusters, vá para o cluster onde você deseja ver as visualizações e clique em Explorar.

  3. Na barra de navegação à esquerda, clique em Monitoramento.

  4. Clique em Grafana ou em qualquer um dos outros painéis.

Para acessar a visualização do Kiali,

  1. No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.

  2. Na página Clusters, vá para o cluster onde você deseja ver o Kiali e clique em Explorar.

  3. Na barra de navegação à esquerda, clique em Istio.

  4. Clique em Kiali. A partir daqui, você pode acessar a aba Gráfico de Tráfego ou a aba Métricas de Tráfego para ver visualizações e métricas de rede.

Por padrão, todos os namespaces serão detectados pelo Prometheus e os dados estarão disponíveis para os gráficos do Kiali. Consulte selector/scrape config setup se você gostaria de usar uma configuração diferente para a coleta de dados do Prometheus.

Seu acesso às visualizações depende do seu papel. Grafana e Prometheus estão disponíveis apenas para os papéis cluster-admin. A interface do Kiali está disponível apenas para cluster-admin por padrão, mas cluster-admin pode permitir que outros papéis acessem editando o arquivo values.yaml do Istio.

Arquitetura

O Istio instala uma malha de serviços que utiliza proxies sidecar Envoy para interceptar o tráfego de cada carga de trabalho. Esses sidecars interceptam e gerenciam a comunicação de serviço para serviço, permitindo uma observação e controle detalhados sobre o tráfego dentro do cluster.

Apenas cargas de trabalho que têm o sidecar do Istio injetado podem ser rastreadas e controladas pelo Istio.

Quando um namespace tem o Istio habilitado, novas cargas de trabalho implantadas no namespace terão automaticamente o sidecar do Istio. Você precisa habilitar manualmente o Istio em cargas de trabalho preexistentes.

Para mais informações sobre o sidecar do Istio, consulte a documentação de injeção de sidecar do Istio e para mais informações sobre a arquitetura do Istio, consulte a documentação da Arquitetura do Istio.

Múltiplos Ingress

Por padrão, cada cluster provisionado pelo Rancher possui um controlador de ingress NGINX que permite o tráfego para o cluster. O Istio também instala um gateway de ingress por padrão no istio-system namespace. O resultado é que seu cluster terá dois Ingress.

Em um cluster habilitado para Istio

Ingress gateways adicionais do Istio podem ser habilitados através do arquivo de sobreposição.

Suporte a Egress

Por padrão, o Egress gateway está desativado, mas pode ser habilitado na instalação ou ao fazer upgrade através do values.yaml ou via arquivo de sobreposição.

Etapas Adicionais para Instalar o Istio em um SUSE® Rancher Prime: RKE2 Cluster

Para instalar o Istio em um cluster RKE2, siga os passos na esta seção.

Atualizando o Istio em um Ambiente Air-Gapped

A política de segurança do pod do Istio agora está habilitada por padrão. Um novo valor, installer.releaseMirror.enabled, foi adicionado ao gráfico rancher-istio para habilitar e desabilitar o servidor que suporta fazer upgrade em ambientes air-gapped. Observe que installer.releaseMirror.enabled está definido como false por padrão. Você pode definir esse valor conforme necessário ao instalar ou fazer upgrade. Siga etapas abaixo:

  1. Provisione uma instância do Rancher em um ambiente air-gapped e um cluster personalizado em um ambiente air-gapped na interface do usuário do Rancher.

  2. Instale o Monitoramento no cluster: Cluster Explorer -> Apps & Marketplace -> Charts -> Monitoring.

  3. Puxe todas as imagens necessárias para o Istio no registro privado que você usará no ambiente air-gapped.

  4. Instale o Istio no cluster: Cluster Explorer -> Apps & Marketplace -> Charts -> Istio.

Você pode habilitar Jaeger e Kiali em uma nova instalação do Istio. Para garantir que o Jaeger e o Kiali funcionem, defina installer.releaseMirror.enabled como true em values.yaml durante a instalação.

  1. Atualize a instalação do Istio.

Se você ainda não fez isso, defina installer.releaseMirror.enabled=true para fazer upgrade do Istio.