Ir al contenido

Instalación de Istio: guía práctica con istioctl y Helm

27 de abril de 2026 por
Instalación de Istio: guía práctica con istioctl y Helm
Oscar Mas

¿Cómo instalar Istio en Kubernetes?

Soy Òscar Mas y hoy me gustaría enseñaros las diferentes formas que tenemos para instalar Istio

Si no conocéis Istio, os recomiendo nuestro anterior post sobre Istio, en el cual exploramos las diferentes posibilidades y el ecosistema de Istio. Hablamos de muchos conceptos como el Service Mesh, el mTLS y la observabilidad. Pero, una vez sabemos qué es, la siguiente pregunta que nos hacemos, es: ¿cómo ponemos Istio en marcha?

Istio es una herramienta robusta y, por tanto, ofrece diversos caminos para su instalación. Hoy nos centraremos en los dos métodos de instalación:

  • Instalación del binario istioctl.
  • La instalación vía Helm, el gestor de paquetes por excelencia de Kubernetes.

Perfiles de Istio: ¿cuál elegir?

Es importante saber que dentro del ecosistema de Istio, existen los perfiles de configuración que son plantillas predefinidas, que permiten personalizar qué componentes se instalarán. Os dejo una tabla que os ayudará a elegir el mejor perfil para vuestros casos de uso.

Component

default

demo

minimal

remote

empty

ambient

istiod

istio-egressgateway

istio-ingressgateway

istio-cni

ztunnel

Para poner un par de ejemplos, si queremos instalar istio para producción, lo más recomendado es usar el perfil de "default", pero si queremos aprender el funcionamiento o simplemente hacer una demostración, escogeremos el perfil "demo"

Instalación de Istio con el binario istioctl

En este apartado explicaremos cómo instalar Istio, usando la descarga del binario. Este binario no solo sirve para instalar Istio, sino que es una herramienta indispensable para depurar, verificar el estado del clúster y gestionar las configuraciones.

A partir de aquí tenemos dos posibilidades de instalación:

  • Usar el script automatizado que nos facilita Istio
  • Descargarnos el binario istioctl

Script automatizado

En este caso, utilizaremos un script automatizado que nos facilita el proyecto oficial. Desde nuestro terminal, ejecutamos:

$ curl -L https://istio.io/downloadIstio | sh -

Este comando descargará la versión más reciente compatible con nuestro sistema operativo.

Binario istioctl

El método de instalación de Isito con el binario, es ideal si buscas un control directo y una configuración basada en perfiles, los cuales los hemos explicado anteriormente.

Lo primero que tenemos que hacer es descargarnos el binario y antes de nada, verifica que tu clúster de Kubernetes cumple los requisitos:

$ istioctl x precheck

Para un entorno estándar, el perfil default es el más equilibrado. Instala el control plane (Istiod) y el Ingress Gateway:

$ istioctl install --set profile=default -y

Este método es fantástico porque el binario genera automáticamente los recursos necesarios en el clúster.

Instalación de Istio con Helm

Si trabajas en un entorno de producción donde ya utilizas Helm para gestionar lo que tienes instalado en tu clúster de Kubernetes, esta es la mejor opción.

Cuando instalamos Istio mediante Helm, dividimos la infraestructura en dos piezas clave que tienen responsabilidades totalmente diferentes:

  • El Control Plane: Istiod (Istio Daemon). Este componente, se encarga de la gestión de la configuración, la propagación de políticas de seguridad (como el mTLS) y la gestión de certificados.
  • Istio Gateway. Es el punto de entrada a la infraestructura, toma tráfico externo al clúster y lo redirige hacia el interior del clúster de Kubernetes.
  • La base (CRD). Es un añadido al API de Kubernetes que sirve para "enseñarle" nuevos objetos. Recordad que Kubernetes sabe qué es un deployment o un servicio, pero no sabe qué es un VirtualService, con este componente le enseñamos a Kubernetes qué es un VirtualService.

Primero, añadimos el repositorio oficial de Istio y lo actualizamos:

$ helm repo add istio https://istio-release.storage.googleapis.com/charts
$ helm repo update

Istio se basa en Custom Resource Definitions (CRDs). Estos definen los nuevos objetos que Kubernetes entenderá (como VirtualServices o Gateways). Es muy importante instalarlos primero:

$ helm install istio-base istio/base -n istio-system --create-namespace

Istiod es el cerebro de la operación; gestiona la configuración de los proxys Envoy que se inyectarán en tus pods (recordad que no usaremos eBFP) y el Ingress Gateway:

$ helm install istiod istio/istiod -n istio-system --wait
$ helm install istio-ingress istio/gateway -n istio-system --wait

Verificaciones después de la instalación

Una vez acabada la instalación, tanto sea con binario o con Helm, es importante verificar que todo se ha instalado correctamente. El primer paso, es revisar que los componentes se están ejecutando correctamente en el namespace:

$ kubectl get pods -n istio-system

Si has optado por descargar el binario istioctl, tienes a tu disposición una herramienta de diagnóstico muy potente. Puedes pedirle a Istio que analice su propia instalación: de la siguiente manera:

$ istioctl verify-install

Tanto si optas por la flexibilidad de Helm como por la simplicidad del binario, lo importante es que ahora tu clúster tiene "velas". Estás preparado para implementar políticas de seguridad avanzadas, hacer despliegues Canary y tener una visibilidad total de lo que pasa entre tus microservicios, eso y muchas más cosas las veremos en siguientes posts.