O Istio é uma malha de serviço de código aberto que se sobrepõe de forma transparente aos aplicativos distribuídos existentes. Os recursos avançados do Istio fornecem uma maneira uniforme e mais eficiente de proteger, conectar e monitorar serviços. O Istio é o caminho para balanceamento de carga, autenticação serviço a serviço e monitoramento – com poucas ou nenhuma alteração no código de serviço.
Para obter informações detalhadas sobre como usar o Istio, visite istio.io
Para fazer perguntas e obter ajuda de nossa comunidade, visite Discussões no Github
Para saber como participar de nossa comunidade geral, visite nossa página da comunidade
Neste LEIA-ME:
Introdução
Repositórios
Gerenciamento de problemas
Além disso, aqui estão alguns outros documentos que você pode querer ler:
Comunidade Istio - descreve como se envolver e contribuir com o projeto Istio
Guia do desenvolvedor do Istio – explica como configurar e usar um ambiente de desenvolvimento do Istio
Convenções do projeto - descreve as convenções que usamos na base de código
Criando código rápido e enxuto - conselhos e diretrizes orientados ao desempenho para a base de código
Você encontrará muitos outros documentos úteis em nosso Wiki.
O Istio é uma plataforma aberta que fornece uma maneira uniforme de integrar microsserviços, gerenciar o fluxo de tráfego entre microsserviços, aplicar políticas e agregar dados de telemetria. O plano de controle do Istio fornece uma camada de abstração sobre a plataforma subjacente de gerenciamento de cluster, como o Kubernetes.
O Istio é composto por estes componentes:
Envoy - proxies sidecar por microsserviço para lidar com o tráfego de entrada/saída entre serviços no cluster e de um serviço para serviços externos. Os proxies formam uma malha de microsserviços segura que fornece um rico conjunto de funções como descoberta, roteamento avançado da camada 7, disjuntores, aplicação de políticas e funções de gravação/relatório de telemetria.
Nota: A malha de serviço não é uma rede de sobreposição. Ele simplifica e aprimora a forma como os microsserviços em um aplicativo se comunicam entre si pela rede fornecida pela plataforma subjacente.
Istiod - O plano de controle do Istio. Ele fornece descoberta de serviços, configuração e gerenciamento de certificados. Consiste nos seguintes subcomponentes:
Piloto - Responsável por configurar os proxies em tempo de execução.
Citadel - Responsável pela emissão e rodízio de certificados.
Galley - Responsável por validar, ingerir, agregar, transformar e distribuir configurações no Istio.
Operador - O componente oferece opções fáceis de usar para operar a malha de serviço do Istio.
O projeto Istio está dividido em alguns repositórios GitHub:
istio/api. Este repositório define APIs em nível de componente e formatos de configuração comuns para a plataforma Istio.
istio/comunidade. Este repositório contém informações sobre a comunidade Istio, incluindo os vários documentos que regem o projeto de código aberto Istio.
istio / istio. Este é o repositório de código principal. Ele hospeda os principais componentes do Istio, instala artefatos e programas de amostra. Inclui:
istioctl. Este diretório contém código para o utilitário de linha de comando istioctl .
piloto. Este diretório contém código específico da plataforma para preencher o modelo de serviço abstrato, reconfigurar dinamicamente os proxies quando a topologia do aplicativo muda, bem como traduzir regras de roteamento em configurações específicas de proxy.
segurança. Este diretório contém código relacionado à segurança, incluindo Citadel (atuando como Autoridade Certificadora), agente Citadel, etc.
istio/proxy. O proxy Istio contém extensões para o proxy Envoy (na forma de filtros Envoy) que oferecem suporte a autenticação, autorização e coleta de telemetria.
istio/ztunnel. O repositório contém a implementação Rust do componente ztunnel da malha Ambient.
istio/client-go. Este repositório define clientes Kubernetes gerados automaticamente para interagir com recursos do Istio de forma programática.
Observação
Somente os repositórios istio/api
e istio/client-go
expõem interfaces estáveis destinadas ao uso direto como bibliotecas.
Usamos o GitHub para rastrear todos os nossos bugs e solicitações de recursos. Cada problema que rastreamos possui uma variedade de metadados:
Épico . Um épico representa uma área de destaque do Istio como um todo. Os épicos têm um escopo bastante amplo e são basicamente coisas no nível do produto. Cada edição é, em última análise, parte de um épico.
Marco . Cada problema recebe um marco. Isto é 0,1, 0,2, ... ou 'Futuro Nebuloso'. O marco indica quando achamos que o problema deve ser resolvido.
Prioridade . Cada questão tem uma prioridade que é representada pela coluna do projeto Priorização. A prioridade pode ser P0, P1, P2 ou >P2. A prioridade indica quão importante é abordar o problema dentro do marco. P0 diz que o marco não pode ser considerado alcançado se o problema não for resolvido.
Istio é um projeto da Cloud Native Computing Foundation.