Instala y personaliza Istio con Helm
La forma oficialmente recomendada de ejecutar Istio en producción y lo que reemplazó al ya eliminado Istio Operator.
istioctl install es la forma más rápida de poner en marcha una malla para aprender o probar en local, pero Helm es el método oficialmente recomendado por Istio para una instalación de producción que pretendes gestionar, versionar y personalizar con el tiempo. Esta guía instala Istio con Helm y cubre qué reemplazó al Istio Operator para el tipo de personalización detallada hacia la que te dirige el material más antiguo.
Una nota antes de empezar: el Istio Operator ya no existe
Istio solía incluir un Istio Operator dentro del clúster: un controlador que vigilaba un recurso personalizado IstioOperator y reconciliaba el clúster para que coincidiera con él. Si has visto tutoriales, material de certificación o documentación antigua construida en torno a volcar un perfil a un archivo YAML IstioOperator y aplicarlo, eso es lo que describen. El operator dentro del clúster quedó obsoleto en Istio 1.23 y se eliminó por completo en la 1.24. Ya no existe en las versiones actuales de Istio.
Lo que lo reemplazó es más directo: archivos de valores de Helm. La misma personalización que antes pasaba por un recurso IstioOperator, habilitar un gateway, ajustar las solicitudes de recursos, cambiar la configuración de un componente, ahora se expresa como valores de Helm y se aplica con helm install o helm upgrade, igual que personalizarías cualquier otro chart de Helm. Si estudias con material que presenta el Operator como esencial, trata el concepto de fondo (personalizar ajustes en un archivo, aplicarlo y que Istio reconcilie para coincidir) como todavía válido, pero traduce el mecanismo a Helm.
Instala los tres charts principales
La instalación de Istio con Helm se divide en tres charts, instalados en orden:
helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
# 1. CRD y recursos a nivel de clúster
helm install istio-base istio/base -n istio-system --create-namespace
# 2. El plano de control (istiod)
helm install istiod istio/istiod -n istio-system --wait
# 3. El ingress gateway (opcional, si necesitas una entrada de tráfico externo)
helm install istio-ingressgateway istio/gateway -n istio-system
istio-base instala las CustomResourceDefinitions y los recursos RBAC a nivel de clúster de los que depende todo lo demás, y tiene que ir primero. istiod es el propio plano de control. El chart del gateway solo es necesario si quieres un ingress (o egress) gateway administrado; una malla con solo tráfico de sidecar a sidecar puede omitirlo.
kubectl get pods -n istio-system
helm list -n istio-system
Deberías ver istiod y, si lo instalaste, el gateway, en Running, y helm list debería mostrar los tres releases.
Personaliza los ajustes con valores
Cada chart acepta sus propios valores, que se descubren igual que en cualquier chart de Helm:
helm show values istio/istiod > istiod-values.yaml
Edita el archivo y luego instala (o actualiza) con él:
helm upgrade istiod istio/istiod -n istio-system -f istiod-values.yaml
Personalizaciones comunes: requests y limits de recursos para istiod o los gateways, habilitar un egress gateway (desactivado por defecto en la mayoría de perfiles) o ajustar configuraciones de toda la malla bajo meshConfig. Todo lo que el Istio Operator permitía configurar mediante spec.components o spec.meshConfig tiene un equivalente en valores de Helm; la propia documentación de instalación con Helm de Istio es la referencia autorizada sobre exactamente qué valores corresponden a qué comportamiento en la versión que ejecutes.
Aplica un cambio
helm upgrade istiod istio/istiod -n istio-system -f istiod-values.yaml
El mismo patrón que cualquier otra actualización de Helm: edita los valores, vuelve a ejecutar helm upgrade y Helm reconcilia los recursos en vivo para que coincidan. No hay un paso aparte de “aplicar la configuración del operator” como describe el material más antiguo; el helm upgrade es el paso de aplicar.
Desinstalar
helm uninstall istio-ingressgateway -n istio-system
helm uninstall istiod -n istio-system
helm uninstall istio-base -n istio-system
kubectl delete namespace istio-system
A diferencia de istioctl uninstall --purge, que elimina todo con un solo comando, el enfoque de Helm desinstala cada release individualmente, aproximadamente en el orden inverso al de instalación, ya que los charts posteriores pueden depender de recursos que creó el chart base.
Guías populares
-
Arquitectura de Istio: sidecars, plano de datos y plano de control Qué hace realmente istiod, cómo encajan los sidecars de Envoy y por qué ni tu aplicación ni sus manifiestos necesitan saber que Istio existe. -
Instala Istio con istioctl y habilita la inyección de sidecars Pon en marcha una malla en un clúster local, confirma que está sana e inyecta el sidecar de tu primera carga de trabajo. -
Verifica y depura una instalación de Istio con istioctl Detecta una mala configuración antes de que te afecte: analyze, validate, proxy-status y la etiqueta de la que la malla depende en silencio. -
Observa tu malla: Prometheus, Grafana, tracing y Kiali Cada sidecar ya emite métricas y trazas: instala los complementos que convierten eso en algo que realmente puedas mirar.