Configuración del complemento gestionado Istio
Istio on IBM Cloud® Kubernetes Service facilita la instalación de Istio, las actualizaciones automáticas y la gestión del ciclo de vida de los componentes de plano de control de Istio, además de la integración con las herramientas de registro y supervisión de la plataforma.
Eliminación de otras instalaciones Istio de un clúster
Si anteriormente instalaste Istio en el clúster utilizando el gráfico Helm de IBM o mediante otro método, elimina esa instalación de Istio antes de habilitar el complemento gestionado Istio.
Antes de empezar: Compruebe que Istio ya está instalado en el clúster. Ejecute kubectl get namespaces y busque el espacio de nombres istio-system en el resultado.
Para eliminar otras instalaciones de Istio:
-
Si ha instalado Istio utilizando el diagrama de Helm de Istio de IBM Cloud,
- Desinstale el despliegue de Helm de Istio.
helm del istio --purge ``` 2. Si ha utilizado Helm 2.9 o anterior, suprima el recurso de trabajo adicional. ```sh {: pre} kubectl -n istio-system delete job --all ``` 3. El proceso de desinstalación puede durar hasta 10 minutos. Antes de instalar el complemento gestionado de Istio en el clúster, ejecute `kubectl get namespaces` y verifique que el espacio de nombres `istio-system` se ha eliminado. -
Si has instalado Istio manualmente o has utilizado el gráfico Helm de la comunidad Istio, consulta la documentación sobre desinstalación en Istio.
-
Si ha instalado anteriormente BookInfo en el clúster, limpie estos recursos.
- Cambie el directorio a la ubicación de archivo de Istio.
cd <filepath>/istio-1.29.5 ``` 2. Suprima todos los servicios, pods y despliegues de BookInfo del clúster. ```sh {: pre} samples/bookinfo/platform/kube/cleanup.sh ``` 3. El proceso de desinstalación puede durar hasta 10 minutos. Antes de instalar el complemento gestionado de Istio en el clúster, ejecute `kubectl get namespaces` y verifique que el espacio de nombres `istio-system` se ha eliminado.
Instalación del complemento de Istio
En lugar de la comunidad Istio, puede instalar el complemento gestionado Istio.
Antes de empezar
-
Asegúrate de tener el rol de acceso al servicio IAM IBM Cloud de tipo Writer o Manager para IBM Cloud Kubernetes Service.
-
No puede ejecutar Istio de comunidad al mismo tiempo que el complemento gestionado de Istio en el clúster. Si utiliza un clúster existente y ha instalado previamente Istio en el clúster mediante el diagrama de Helm de IBM o con otro método, limpie la instalación de Istio.
-
Clústeres multizona clásicos: Asegúrese de habilitar un Virtual Routing and Forwarding(VRF) para la cuenta de infraestructura de IBM Cloud. Para habilitar VRF, consulte Habilitación de VRF. Para comprobar si un VRF ya está habilitado, utilice el mandato
ibmcloud account show. Si no puede o no desea habilitar VRF, habilite Expansión de VLAN. Para realizar esta acción, necesitas el permiso Gestionar la infraestructura de VLAN de red, o bien puedes solicitar al propietario de la cuenta que te lo habilite. Para comprobar si la extensión de VLAN ya está activada, utiliza el.ibmcloud ks vlan spanning get --region REGIONcomando
Instalación del complemento de Istio desde la consola
-
En el panel de control de tu clúster, haz clic en el nombre del clúster en el que deseas instalar el complemento Istio.
-
Vaya a la sección Complementos.
-
En la tarjeta de Istio gestionada, pulse Instalar.
-
Vuelva a pulsar Instalar.
-
En la tarjeta de Istio gestionado, verifique que aparece el complemento.
Instalación del complemento de Istio con la CLI
-
Actualiza el complemento
container-servicea la versión más reciente.ibmcloud update && ibmcloud plugin update container-service -
Revise las versiones de Istio soportadas.
ibmcloud ks addon-versions --addon istio -
Habilite el complemento
istio. Se ha instalado la versión predeterminada del complemento gestionado Istio, 1.29.5, disponible de forma generalizada.ibmcloud ks cluster addon enable istio --cluster CLUSTER_NAME_OR_ID -
Verifique que el complemento de Istio gestionado tenga el estado
Addon Ready.ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_IDSalida de ejemplo
NAME Version Health State Health Status istio 1.29.5 normal Addon Ready -
También puede consultar los componentes individuales del complemento para asegurarse de que se han desplegado los servicios de Istio y sus pods correspondientes.
kubectl get svc -n istio-systemkubectl get pods -n istio-system -
A continuación, puede incluir las apps en la red de servicios de Istio.
Instalación de la CLI istioctl
Instale el cliente de CLI de istioctl en el sistema. Para obtener más información, consulta el istioctl Referencia comando.
- Compruebe la versión de Istio que ha instalado en su clúster.
istioctl version - Descarga en tu ordenador la versión que
istioctlcoincida con la versión de Istio de tu clúster.curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh - - Vaya al directorio del paquete de Istio.
cd istio-1.29.5 - Usuarios de Linux y macOS: añada el cliente
istioctla la variable del sistemaPATH.export PATH=$PWD/bin:$PATH
Personalización de la instalación de Istio
Puede personalizar un conjunto de opciones de configuración de Istio editando el recurso de mapa de configuración managed-istio-custom. Estos valores incluyen un control adicional sobre la supervisión, el registro y la red en el
plano de control y la red de servicios.
- Describe el recurso ConfigMap
managed-istio-custompara revisar su contenido y la documentación integrada.kubectl describe cm managed-istio-custom -n ibm-operators - Edite el recurso de mapa de configuración
managed-istio-custom.kubectl edit cm managed-istio-custom -n ibm-operators - En la sección
data, añada el par<key>: "<value>"de una o varias de las siguientes opciones de configuración.
istio-components-pilot-requests-cpu-
Valor predeterminado:
"500m":
Configura la solicitud de CPU en CPUmillipara el pod del componenteistiod. Tenga cuidado al cambiar este valor. Si este valor se establece demasiado bajo, esto podría impedir que el plano de control funcionara correctamente y, si se establece demasiado alto, podría impedir la planificación del podistiod. istio-global-logging-level-
- Valor predeterminado:
"default:info": Defina el ámbito de los registros y el nivel de los mensajes de registro de los componentes del plano de control. Un ámbito representa un área funcional dentro de un componente del plano de control y cada ámbito da soporte a niveles de información de registro específicos. El ámbito de registro predeterminado (default), que es para mensajes de registro no categorizados, se aplica a todos los componentes del plano de control en el nivel de información (info) básico. - Para especificar niveles de registro para ámbitos de componentes individuales, incluya una lista separada por comas de ámbitos y niveles, como
"<scope>:<level>,<scope>:<level>". Para consultar una lista de los ámbitos de cada componente del plano de control y el nivel de información de los mensajes de registro, véase la documentación sobre el registro de componentes de Istio. Para cambiar el nivel de registro del plano de datos, utiliza el comandoistioctl proxy-config log <pod> --level <level>.
- Valor predeterminado:
istio-global-outboundTrafficPolicy-mode-
Valor predeterminado:
"ALLOW_ANY": De forma predeterminada, se permite todo el tráfico de salida de la malla de servicios. Para bloquear el tráfico de salida de la red de servicios a cualquier host que no esté definido en el registro de servicios o que no tenga unaServiceEntrydentro de la red de servicios, establezcaREGISTRY_ONLY. istio-global-proxy-accessLogFile-
Valor predeterminado:
"": Los proxies de Envoy muestran información de acceso a su salida estándar. Estos registros son útiles al depurar problemas de entrada o de salida. Para ver esta información de acceso al ejecutar mandatoskubectl logspara los contenedores de Envoy, establezca"/dev/stdout". istio-monitoring-telemetry-
Valor predeterminado:
"true": De forma predeterminada, se habilita la métrica de telemetría y el soporte de Prometheus. Para eliminar cualquier problema de rendimiento asociado con las métricas de telemetría e inhabilitar todas las funciones de supervisión, establézcalo en"false". istio-meshConfig-enableTracing-
Valor predeterminado:
"true": De forma predeterminada, Istio genera intervalos de rastreo para 1 de cada 100 solicitudes. Para inhabilitar los intervalos de rastreo, establezca el valor en"false". istio-pilot-traceSampling-
- Valor predeterminado:
"1.0" - De forma predeterminada, Istio genera tramos de seguimiento para 1 de cada 100 solicitudes, lo que supone una tasa de muestreo del 1 %. Para generar más intervalos de rastreo, aumente el valor de porcentaje.
- Valor predeterminado:
istio-components-pilot-hpa-maxReplicas-
Valor predeterminado:
"5":
Por defecto,Istio establece enistiod5 el número máximo de pods del escalador automático horizontal (HPA) predeterminado. No aumentes este valor a menos que tengas una malla de servicios de gran tamaño en la que se necesitenistiodmás recursos para actualizar las configuraciones.Por ejemplo, el mapa de configuración puede tener un aspecto similar al siguiente.
apiVersion: v1 data: istio-ingressgateway-zone-1: dal10 <key: value> # such as istio-egressgateway-public-1-enabled: "false" kind: ConfigMap metadata: name: managed-istio-custom namespace: ibm-operators¿No ve una opción de esta tabla en el mapa de configuración? Dado que el mapa de configuración contiene valores definidos por el usuario, el mapa de configuración no se actualizará con ninguna opción que se añada con el tiempo. En su lugar, puede realizar una copia de seguridad de una copia del mapa de configuración y suprimir el mapa de configuración del clúster. Después de unos 5 minutos, se crea un mapa de configuración predeterminado que contiene las nuevas opciones en el clúster. A continuación, puede copiar los valores configurados anteriormente de la copia de seguridad en este mapa de configuración predeterminado, configurar todos los nuevos valores y aplicar los cambios.
-
Guarde y cierre el archivo de configuración.
-
Si ha modificado los valores
istio-global-logging-leveloistio-global-proxy-accessLogFile, debe reiniciar los pods del plano de datos para aplicarles los cambios.- Obtenga la lista de todos los pods del plano de control que no están en el espacio de nombres
istio-system.
istioctl version --short=false | grep "data plane version" | grep -v istio-system ``` Salida de ejemplo ```sh {: screen} data plane version: version.ProxyInfo{ID:"test-6f86fc4677-vsbsf.default", IstioVersion:"1.29.5"} data plane version: version.ProxyInfo{ID:"rerun-xfs-f8958bb94-j6n89.default", IstioVersion:"1.29.5"} data plane version: version.ProxyInfo{ID:"test2-5cbc75859c-jh6bx.default", IstioVersion:"1.29.5"} data plane version: version.ProxyInfo{ID:"minio-test-78b5d4597d-hkpvt.default", IstioVersion:"1.29.5"} data plane version: version.ProxyInfo{ID:"sb-887f89d7d-7s8ts.default", IstioVersion:"1.29.5"} data plane version: version.ProxyInfo{ID:"gid-deployment-5dc86db4c4-kdshs.default", IstioVersion:"1.29.5"} ``` 2. Reinicie cada pod suprimiéndolo. En la salida del paso anterior, el nombre del pod y el espacio de nombres se listan en cada entrada como `data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.29.5"}`. ```sh {: pre} kubectl delete pod <pod_name> -n <namespace> ``` - Obtenga la lista de todos los pods del plano de control que no están en el espacio de nombres
- ¿Quieres cambiar una configuración de ConfigMap?
- Si desea cambiar un valor añadido al mapa de configuración, puede utilizar un script de parche. Por ejemplo, si ha añadido el valor
istio-global-proxy-accessLogFile: "/dev/stdout"y, más adelante, quiere cambiarlo de nuevo a"", puede ejecutarkubectl patch cm managed-istio-custom -n ibm-operators --type='json' -p='[{"op": "add", "path": "/data/istio-global-proxy-accessLogFile", "value":""}]'. - ¿Necesitas depurar tu configuración de personalización en 1.24 o posterior?
- Compruebe el helm value.yaml y los registros de resultados del helm en el configmap managed-istio-istiod-control-plane-values en el espacio de nombres ibm-operators. La página value.yaml le mostrará si su cambio ha sido añadido. Los resultados
del timón le mostrarán si hubo algún error de sintaxis.
kubectl get cm -n ibm-operators managed-istio-istiod-control-plane-values -o json | jq -r .data.\"values.yaml\" kubectl get cm -n ibm-operators managed-istio-istiod-control-plane-values -o json | jq -r .data.\"values.yaml.helm.result\"Thu, 23 Oct 2025 19:58:48 GMT HELM_SUCCESS: Release "istiod" has been upgraded. Happy Helming! NAME: istiod LAST DEPLOYED: Thu Oct 23 19:58:42 2025 NAMESPACE: istio-system STATUS: deployed REVISION: 275 TEST SUITE: None NOTES: "istiod" successfully installed! - ¿Necesitas depurar la configuración de tu personalización en 1.23?
- Compruebe los registros del pod
addon-istio-operator( Istio versión 1.10 a 1.23 ) ejecutandokubectl logs -n ibm-operators -l name=managed-istio-operator. El operador de Istio valida y concilia los cambios de Istio personalizados que realice.
Si inhabilita el complemento de Istio, el mapa de configuración managed-istio-custom no se elimina durante la desinstalación. Al volver a habilitar el complemento de Istio, se aplica el mapa de configuración personalizado durante
la instalación. Si no desea volver a utilizar los valores personalizados en una instalación posterior de Istio, debe suprimir el mapa de configuración después de inhabilitar el complemento de Istio ejecutando kubectl delete cm -n ibm-operators managed-istio-custom.
Cuando vuelva a habilitar el complemento de Istio, se aplicará el mapa de configuración predeterminado durante la instalación.
Migración del complemento Istio a la comunidad Istio
Si está utilizando el complemento gestionado Istio versiones 1.21 a 1.23, puede migrar a una versión posterior de la comunidad Istio en su lugar.
Antes de empezar: Si ya no necesita Istio, puede desinstalar el complemento sin instalar la comunidad Istio en lugar de seguir estos pasos.
Paso 1: Desactivar el complemento Istio desde la consola
Desactiva el complemento desde la consola o la CLI.
-
En el panel de control de tu clúster, haz clic en el nombre del clúster del que deseas eliminar el complemento Istio.
-
Vaya a la sección Complementos.
-
En la tarjeta de Istio gestionado, pulse el icono de menú Acción.
-
Pulse Desinstalar. El complemento Istio gestionado está desactivado en este clúster.
-
En la tarjeta de Istio gestionada, verifique que el complemento que ha desinstalado ya no aparece en la lista.
Paso 1: Desactivar los complementos de Istio desde la CLI
Desactive el complemento y compruebe que no queda ningún complemento adicional de Istio.
- Inhabilite el complemento
istio.ibmcloud ks cluster addon disable istio --cluster CLUSTER_NAME_OR_ID -f - Verifique que todos los complementos de Istio gestionados están inhabilitados en este clúster. No se devuelve ningún complemento de Istio en la salida.
ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID - Espere 10 minutos antes de continuar con el paso siguiente. Esto nos da tiempo para desgestionar el operador Istio.
Paso 2: Reducir la escala del operador Istio
Reducir la escala de la implementación del operador Istio. Al migrar de la utilización por parte del complemento Istio del operador in-cluster Istio a la utilización por parte de la comunidad Istio de istioctl, debe evitar que
ambos métodos de instalación luchen por el control de Istio. Los pasos de reducir el operador, borrar los IOP y, a continuación, borrar el operador eliminan el operador dentro del clúster sin desinstalar Istio.
Ejecute el mandato siguiente:
kubectl scale deployment -n ibm-operators addon-istio-operator --replicas=0
Paso 3: Ahorrar recursos
Guarda todos los recursos que hayas creado o modificado en el espacio istio-system de nombres, así como todos los recursos de Kubernetes generados automáticamente por definiciones de recursos personalizados (CRD).
-
Guarde el
managed-istio-customConfigMap para resolver un problema o para volver a instalar el complemento más adelante.kubectl get cm -n ibm-operators managed-istio-custom -o yaml > Customizations.yaml -
Guarde todos los CR IstioOperator (IOP). El operador in-cluster Istio tiene un finalizador en los IOPs para evitar que se borren hasta que el operador in-cluster borre los recursos que están definidos en los IOPs. Como parte de la eliminación del operador Istio sin eliminar Istio, debe eliminar los finalizadores.
- Listar los recursos de IOP:
kubectl get iop -A ``` - Para cada recurso IOP de la lista, elimine el finalizador. Ejemplo de utilización de `managed-istio` IOP: ```sh {: pre} kubectl patch -n ibm-operators istiooperator/managed-istio --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]' ``` - Para cada recurso de IOP listado, guarde cada uno en un archivo: ```sh {: pre} kubectl get iop -n <IOP_namespace> <IOP_name> -o yaml > <IOP_name>.yaml ``` -
Espere 10 minutos antes de continuar con el paso siguiente.
Paso 4: Cambiar el instalador de los IOPs
Borrar todos los recursos del operador Istio (IOP), como por ejemplo para una pasarela de entrada personalizada.
-
Asegúrese de que su herramienta
istioctlcli tiene la versión de parche necesaria.istioctl version -
Para cada archivo IOP que haya guardado en el paso anterior, ejecute el comando
istioctl upgradepara actualizar Istio a la versión que coincida con la versiónistioctl. Este comando también cambia el mecanismo de instalación y actualización, que pasa de utilizar el operador in-cluster aistioctl.istioctl upgrade -f <filename>.yaml
Paso 5: Retirar el operador Istio y los IOPs
Elimine la implantación del operador Istio, la cuenta de servicio, la vinculación de la función de clúster, la función de clúster y todos los IOP. Istio se transfirió del operador del grupo Istio a la instalación basada en istioctl.
Ahora puede limpiar los restos de la instalación del operador en el clúster Istio mientras se reduce.
-
Ejecute los siguientes comandos para eliminar la implantación del operador Istio:
kubectl delete deployment -n ibm-operators addon-istio-operator --ignore-not-found=true kubectl delete serviceaccount -n ibm-operators addon-istio-operator --ignore-not-found=true kubectl delete clusterrolebinding addon-istio-operator --ignore-not-found=true kubectl delete clusterrole addon-istio-operator --ignore-not-found=true -
Borra los IOP.
- Listar los recursos de IOP:
kubectl get iop -A ``` - Para cada recurso IOP de la lista, elimínelo: ```sh {: pre} kubectl delete IstioOperator <resource_name> -n <namespace> ```
Paso 6: Retirar el ConfigMap
Como el ConfigMap se guardó antes, puede eliminarse.
Retire el managed-istio-custom ConfigMap.
kubectl delete cm -n ibm-operators managed-istio-custom
La eliminación del complemento se ha completado y puede seguir utilizando y actualizando la comunidad Istio según sea necesario.
Desinstalación del complemento Istio
Si ya ha terminado de trabajar con Istio, puede limpiar los recursos de Istio de su clúster y desinstalar los complementos de Istio.
Paso 1: Guardar recursos antes de la desinstalación
Los recursos que haya creado o modificado en el espacio de nombres istio-system se eliminarán. Para conservar estos recursos, guárdalos antes de desinstalar el complemento Istio.
-
Guarde el
managed-istio-customConfigMap para resolver un problema o para volver a instalar el complemento más adelante.kubectl get cm -n ibm-operators managed-istio-custom -o yaml > Customizations.yaml -
Para la versión 1.23 y anteriores, guarde todas las CR (IOP) de IstioOperator.
a. Listar los recursos de IOP:
kubectl get iop -Ab. Para cada recurso de IOP listado, guarde cada uno en un archivo:
kubectl get iop -n <IOP_namespace> <IOP_name> -o yaml > <IOP_name>.yaml
Paso 2: Desinstalación del complemento de Istio
Desinstale el complemento desde la consola o desde la CLI. Para Istio 1.20 y versiones anteriores, cualquier recurso de operador personalizado Istio (IOP) se elimina automáticamente.
Desinstalación del complemento de Istio desde la consola
-
En el panel de control de tu clúster, haz clic en el nombre del clúster del que deseas eliminar el complemento Istio.
-
Vaya a la sección Complementos.
-
En la tarjeta de Istio gestionado, pulse el icono de menú Acción.
-
Pulse Desinstalar. El complemento de Istio gestionado se inhabilita en este clúster y todos los recursos de Istio de este clúster se eliminan.
-
En la tarjeta de Istio gestionada, verifique que el complemento que ha desinstalado ya no aparece en la lista.
Desinstalación del complemento Istio desde la CLI
Si no ha instalado los complementos istio-sample-bookinfo e istio-extras en desuso, omita los pasos 1 y 2.
- Inhabilite el complemento
istio-sample-bookinfo.ibmcloud ks cluster addon disable istio-sample-bookinfo --cluster CLUSTER_NAME_OR_ID - Inhabilite el complemento
istio-extras.ibmcloud ks cluster addon disable istio-extras --cluster CLUSTER_NAME_OR_ID - Inhabilite el complemento
istio.ibmcloud ks cluster addon disable istio --cluster CLUSTER_NAME_OR_ID -f - Verifique que todos los complementos de Istio gestionados están inhabilitados en este clúster. No se devuelve ningún complemento de Istio en la salida.
ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
Paso 3: Eliminar recursos
Después de guardar los recursos y de que el complemento esté inhabilitado, los recursos se pueden eliminar.
-
El mapa de configuración
managed-istio-customno se elimina durante la desinstalación. Si posteriormente vuelve a habilitar el complemento de Istio, durante la instalación se aplicarán los valores personalizados que haya realizado en el mapa de configuración. Si no desea volver a utilizar los valores personalizados en una instalación posterior de Istio, debe suprimir el mapa de configuración.kubectl delete cm -n ibm-operators managed-istio-custom -
Para la versión 1.23 y anteriores, elimine los recursos del operador personalizado Istio (IOP) y el IOP.
a. Suprima los recursos de operador de Istio (IOP) personalizados que ha creado, como por ejemplo para una pasarela ingress personalizada. Cuando se ejecuta este mandato, el operador de Istio elimina automáticamente los recursos que ha creado el recurso de IOP, como despliegues o servicios.
kubectl delete IstioOperator <resource_name> -n <namespace>b. Borre el IOP
managed-istio.kubectl delete iop -n ibm-operators managed-istio -
Para la versión 1.24 y posteriores, guarde y luego elimine la pasarela
addon-istioConfigMaps, elimine las pasarelas personalizadas, y elimine el plano de control Istio.a. Guarde la pasarela
addon-istioConfigMaps.kubectl get cm -n ibm-operators managed-istio-ingressgateway-values -o json | jq -r .data.\"values.yaml\" > ingress-gateway.values kubectl get cm -n ibm-operators managed-istio-egressgateway-values -o json | jq -r .data.\"values.yaml\" > egress-gateway.valuesb. Borre la pasarela
addon-istioConfigMaps.kubectl delete cm -n ibm-operators managed-istio-egressgateway-values kubectl delete cm -n ibm-operators managed-istio-ingressgateway-valuesc. Eliminar las pasarelas personalizadas.
d. Borrar el plano de control Istio.
istioctl uninstall -y --purgeSalida:
All Istio resources will be pruned from the cluster Removed apps/v1, Kind=Deployment/istiod.istio-system. Removed /v1, Kind=Service/istiod.istio-system. Removed /v1, Kind=ConfigMap/istio.istio-system. Removed /v1, Kind=ConfigMap/istio-sidecar-injector.istio-system. Removed /v1, Kind=Pod/istiod-7f59b54bfd-p5f4d.istio-system. Removed /v1, Kind=Pod/istiod-7f59b54bfd-zckw6.istio-system. Removed policy/v1, Kind=PodDisruptionBudget/istiod.istio-system. Removed autoscaling/v2, Kind=HorizontalPodAutoscaler/istiod.istio-system. Removed admissionregistration.k8s.io/v1, Kind=MutatingWebhookConfiguration/istio-sidecar-injector.. ✔ Uninstall complete -
Espere 10 minutos antes de continuar con el paso siguiente.
Paso 4: Eliminar el operador Istio
Para la versión 1.23 y anteriores, después de desinstalar completamente el complemento, puede eliminar el operador Istio.
Suprima el despliegue del operador de Istio, la cuenta de servicio, el enlace de rol de clúster y el rol de clúster.
kubectl delete deployment -n ibm-operators addon-istio-operator --ignore-not-found=true
kubectl delete serviceaccount -n ibm-operators addon-istio-operator --ignore-not-found=true
kubectl delete clusterrolebinding addon-istio-operator --ignore-not-found=true
kubectl delete clusterrole addon-istio-operator --ignore-not-found=true