Istio é um dos melhores ou o melhor Service Mesh existente e open source que conhecemos, por padrão internamente ele vem com total suporte acoplado ao mTLS para a comunicação segura entre pods e também externa.

No Istio, o mTLS é ativado por padrão quando o istio é instalado no seu cluster do Kubernetes. Os modos MTLS são de dois tipos no Istio.

Na segurança de informação a maneira mais segura de prover controle de acesso a sua API ou Recurso, seria a troca de chaves, o qual denominamos de TLS Mútuo, o tão conhecido mTLS, onde assegura que o tráfego seja seguro e confiável em ambas as direções entre um cliente e um servidor.

Instalação

Faça o download do Istio 1.12.2

curl -L <https://istio.io/downloadIstio> | ISTIO_VERSION=1.12.2 TARGET_ARCH=x86_64 sh -

Entrando no diretório que contém o istioctl

cd istio-1.12.2/bin

Aplique o comando abaixo para verificar qualquer inconsistência no cluster

./istioctl x precheck

O comando abaixo instala componentes core, habilita secret service discovery, habilita suporte a forward do IP do client e habilita suporte ao egress para algum eventual controle de saída:

./istioctl install \\
--set profile=default \\
--set values.gateways.istio-ingressgateway.externalTrafficPolicy="Local" \\
--set values.gateways.istio-egressgateway.enabled=true

Verificando a instalação

./istioctl verify-install

Adicionando réplicas para os componentes core