https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0 Este es un complemento de lo que se vio en la clase
Introducción a Google Kubernetes Engine
Introducción a Google Kubernetes Engine
¿Qué es Kubernetes?
Repaso de Docker
Qué son los contenedores
Qué es Docker
Comandos Básicos de Docker
Creación del contenedor de Docker
Conceptos Basicos
Cluster y nodos ¿Qué son y cómo funcionan?
¿Qué son los Pods?
Deployments
Pods y Deployments en practica
Servicios
Servicios en práctica
Servicios en práctica / Loadbalancer
Servicios en práctica / Node Port
Crea tu primer Hola Mundo en Google Kubernetes Engine
Conceptos intermedios
Archivos descriptivos de infraestructura teoria y práctica
Labels teoría
Namespaces teoría
Labels y Namespaces explicación gráfica
Labels y Namespaces en práctica
Deployment Avanzado (Blue-green y Canary Deployment)
Implementando Deployment avanzados
Terminando de implementar nuestro canary deployment
Volúmenes
Volúmenes en práctica
RETO: Crea un blue green deployment
Arquitectura de una app más robusta
Desplegar una aplicación Stateful Teoría
Desplegar una aplicación Stateful Práctica
Auto Scaling teoría
Auto Scaling en práctica
Node Pools teoría
Node Pools práctica
Contenido Bonus
Generando un certificado https con Let's Encrypt para GCP
Certificado https
Service mesh con Istio
StackDriver
CI/CD con Cloud Builder
CI/CD con Cloud Builder práctica
Knative, GKE Serverless Addon
Comandos utilizados en el curso
Buenas prácticas
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Carlos Arturo Prieto
Los servicios nos permiten ingresar tráfico y conectar los diferentes servicios de nuestra aplicación. Los 3 tipos de servicios disponibles son: Cluster IP, Node Port y Load Balancer.
Aportes 6
Preguntas 1
https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0 Este es un complemento de lo que se vio en la clase
Me quedaron muchas muchas dudas… ya que esto es un curso específico de Google Cloud en su rama Kubernetes entiendo que lo más lógico sería explicar los distintos balanceadores de carga y no tomar por sentado la “normal general” de kubernetes de que cuando usas un servicio load balancer este pasara todo el trafico por el nodo maestro… En google cloud el nodo maestro esta abstraido por google y para nosotros simplemente no existe. Además, cuando usas un servicio de tipo loadbalancer lo que estas haciendo es usar un servicio de balanceo de carga de google, contratando este claro esta (muy parecido a la explicación del node port)
La cosa esta en, sabiendo lo antes explicado, estaría genial que hubieran explicado los distintos tipos de balanceadores de carga que hay en google cloud y como configurar estos a través del archivo yaml (en la clase practica)
Cluster IP
Se dedica a unir microservicios dentro de mi arquitectura. Utilizando para ello IP privada, por lo que no puede comunicarse con el exterior. Es decir, permite que los pods se puedan comunicar entre ellos, pero no se pueda acceder de forma externa (interno al clúster). Por ejemplo, para comunicar un backend con una base de datos.
Node ports
Se genera un mapeo de puertos a nivel de nodos. Permite abrir un puerto en todos los nodos para comunicarse con ellos mediante una IP externa.
Load Balancer
Permite acceder al pod mediante una IP externa, esta es única de este pod, y solamente permite acceder a él.
Kubernetes ServiceTypes allow you to specify what kind of Service you want. The default is ClusterIP.
Type values and their behaviors are:
• ClusterIP: Exposes the Service on a cluster-internal IP. Choosing this value makes the Service only reachable from within the cluster. This is the default ServiceType.
• NodePort: Exposes the Service on each Node’s IP at a static port (the NodePort). A ClusterIP Service, to which the NodePort Service routes, is automatically created. You’ll be able to contact the NodePort Service, from outside the cluster, by requesting <NodeIP>:<NodePort>.
• LoadBalancer: Exposes the Service externally using a cloud provider’s load balancer. NodePort and ClusterIP Services, to which the external load balancer routes, are automatically created.
• ExternalName: Maps the Service to the contents of the externalName field, by returning a CNAME record with its value. No proxying of any kind is set up.
Note: You need either kube-dns version 1.7 or CoreDNS version 0.0.8 or higher to use the ExternalName type.
You can also use Ingress to expose your Service. Ingress is not a Service type, but it acts as the entry point for your cluster. It lets you consolidate your routing rules into a single resource as it can expose multiple services under the same IP address.
Esta clase estuvo demasiado confusa, ya que segun el diagrama de arquitectura de Kubernetes el trafico jamas pasa por el nodo maestro, este nodo unicamente realiza las veces de orquestador y gestionador de las nodos workers y el estado deseado del cluster.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?