Desplegar una aplicación de ejemplo
Para explorar Istio, instalarás la aplicación de ejemplo Bookinfo, compuesta por cuatro microservicios separados que se utilizan para demostrar varias características de Istio.
Como parte de esta guía, desplegarás la aplicación Bookinfo y expondrás el servicio productpage
utilizando una gateway de entrada.
Desplegar la aplicación Bookinfo
Comienza desplegando la aplicación:
$ kubectl apply -f @samples/bookinfo/platform/kube/bookinfo.yaml@
$ kubectl apply -f @samples/bookinfo/platform/kube/bookinfo-versions.yaml@
Para verificar que la aplicación se está ejecutando, comprueba el estado de los pods:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
details-v1-cf74bb974-nw94k 1/1 Running 0 42s
productpage-v1-87d54dd59-wl7qf 1/1 Running 0 42s
ratings-v1-7c4bbf97db-rwkw5 1/1 Running 0 42s
reviews-v1-5fd6d4f8f8-66j45 1/1 Running 0 42s
reviews-v2-6f9b55c5db-6ts96 1/1 Running 0 42s
reviews-v3-7d99fd7978-dm6mx 1/1 Running 0 42s
Para acceder al servicio productpage
desde fuera del cluster, necesitas configurar una gateway de entrada.
Desplegar y configurar la gateway de entrada
Utilizarás la API de Gateway de Kubernetes para desplegar una gateway llamada bookinfo-gateway
:
$ kubectl apply -f @samples/bookinfo/gateway-api/bookinfo-gateway.yaml@
Por defecto, Istio crea un servicio LoadBalancer
para una gateway. Como accederás a esta gateway a través de un túnel, no necesitas un balanceador de carga. Cambia el tipo de servicio a ClusterIP
anotando la gateway:
$ kubectl annotate gateway bookinfo-gateway networking.istio.io/service-type=ClusterIP --namespace=default
Para comprobar el estado de la gateway, ejecuta:
$ kubectl get gateway
NAME CLASS ADDRESS PROGRAMMED AGE
bookinfo-gateway istio bookinfo-gateway-istio.default.svc.cluster.local True 42s
Espera a que la gateway se muestre como programada antes de continuar.
Acceder a la aplicación
Te conectarás al servicio productpage
de Bookinfo a través de la gateway que acabas de aprovisionar. Para acceder a la gateway, necesitas usar el comando kubectl port-forward
:
$ kubectl port-forward svc/bookinfo-gateway-istio 8080:80
Abre tu navegador y navega a http://localhost:8080/productpage
para ver la aplicación Bookinfo.
Si actualizas la página, deberías ver que la visualización de las calificaciones de los libros cambia a medida que las solicitudes se distribuyen entre las diferentes versiones del servicio reviews
.
Próximos pasos
Continúa con la siguiente sección para agregar la aplicación a la malla y aprender a proteger y visualizar la comunicación entre las aplicaciones.