# Rancher - Istio Istio es una malla de servicios de código abierto que se superpone de forma transparente a las aplicaciones distribuidas existentes. Las potentes funciones de Istio proporcionan una forma uniforme y más eficiente de proteger, conectar y supervisar los servicios. Además, Istio provee un servicio de malla para una alta redundancia. ## Instalar Istio En esta guía instalaremos istio mediante _Rancher explorer_, para ello daremos clic en el botón _Explorer_ en la lista de _Clusters_ de _Rancher_. ![Explorer](https://i.imgur.com/WAAuEpn.png) Una vez que estes en el explorador de _Rancher_, despliega el menú superior izquierdo y selecciona _Apps & Marketplace_. ![Apps & Marketplace](https://i.imgur.com/lhDyij6.png) Al seleccionar esta opción, _Rancher_ desplegará una lista de las aplicaciones disponibles, dentro de esta lista selecciona _Istio_. ![Istio](https://i.imgur.com/Jd7FN21.png) Una vez que selecciones _Istio_, _Rancher_ desplegará una ventana de configuración para la instalación, para instalar _Istio_ da clic en el botón _Install_. ![Install](https://i.imgur.com/e0HcTm3.png) Al dar clic en este botón, _Rancher_ abrirá una consola donde podrás visualizar la instalación, cuando la instalación termine podrás visualizar la opción de _Istio_ en el menú superior izquierdo. ![Istio menu](https://i.imgur.com/BYXWslw.png) ## Aplicar _Service mesh_ a un deployment Una vez que hayas instalado _Istio_, ahora aplicaremos _Mesh_ a un deployment existente, para ello iremos a la lista principal de _Clusters_ y seleccionaremos nuestro _Cluster_. ![Cluster-List](https://i.imgur.com/mYbcDsB.png) Dentro de nuestro _Cluster_ selecciona _Project/Namespaces_ en el menú superior. ![NS](https://i.imgur.com/2gCSg71.png) _Rancher_ te mostrará una lista de los _Namespaces_ que actualmente contiene tu _Cluster_. Identifica el namespace donde se encuentra tu deployment, da clic en el botón con los 3 puntitos y da clic en _Edit_. ![Edit NS](https://i.imgur.com/ST40BOt.png) _Rancher_ te mostrará una ventana donde podrás actualizar la información del _Namespace_. Para poder implementar _Mesh_, debemos colocar una _label_ en el _namespace_. Para ello, dirigete a la sección _Labels & Annotation_ y da clic en el botón _Add Label_. ![Add label](https://i.imgur.com/2twwpDt.png) Una vez que hayas dado clic en este botón, ingresa la llave y el valor de la label, en este caso: `istio-injection=enabled` una vez que hayas agregado esta _Label_ da clic en el botón _Save_. ![Label](https://i.imgur.com/cdEyaUo.png) Al editar la información del _Namespace_ verás el logo de _Istio_ justo a un costado del nombre de tu _Namespace_. ![Istio NS](https://i.imgur.com/5XSeyg2.png) Por último, tendrás que reiniciar los _Pods_ para que la configuración de _Mesh_ se agregué, para ello, ejecuta el siguiente comando: ``` kubectl -n <NAMESPACE> rollout restart <DEPLOYMENT-NAME> ``` Tras ejecutar el comando podrás ver un cambio en la lista de _Pods_ pues se aumentará el número de _Pods_. ## Acceder a métricas de _Istio_ _Istio_ nos proporciona una serie de métricas y gráficas para poder monitorear los servicios de _Mesh_ mediante el _Dashboard Kiali_. Para acceder da clic, en el botón _Explore_ en la lista de _Clusters_. ![Clusters](https://i.imgur.com/WAAuEpn.png) Posteriormente, selecciona la opción de _Istio_ en el menú superior izquierdo. ![Istio on menu](https://i.imgur.com/BYXWslw.png) Al seleccionar _Istio_, podrás visualizar dos opciones, dentro de ellas _Kiali_, para acceder da clic en el hipervínculo de _Kiali_. ![Kiali a](https://i.imgur.com/JmQwFsx.png) Al dar clic en el hipervínculo, _Rancher_ abrirá _Kiali_ dashboard en una nueva ventana, en el podrás observar los _namespaces_ de tus _Cluster_. Para acceder a una gráfica de un determinado _Namespace_, da clic en el botón de los 3 puntos y selecciona la opción _Graph_. ![Kiali NS](https://i.imgur.com/sQsxynY.png) Posteriormente, da clic en el botón _Display idle nodes_. ![Idle nodes](https://i.imgur.com/kVoIAvV.png) Al dar clic en este botón, podrás observar la gráfica del _Namespace_ y del lado derecho un resumen de las peticiones a los servicios. ![Graph](https://i.imgur.com/7KqBxTZ.png) ![GRAPH STATUS](https://i.imgur.com/ezJ8k7i.png)