sergioalegre / Kubernetes

Dockers & Kubernetes practices: fastest growing project in the history of open Source software, after Linux.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LinkedIn


Logo

Kubernetes e IaC

Apuntes de los cursos y practicas de Kubernetes e IaC
Explore the docs · Report Bug · Request Feature

Kubernetes

Solución de orquestación Open Source de contenedores de Google. Permite manejar aplicaciones dentro de contenedores a traves de varios servidores (físicos o virtuales).

Funcionalidades:

  • Manejar muchos contenedores
  • Alta disponibilidad
  • Cero downtime (mediante replicas de la aplicación en diferentes nodos)
  • Escalar aplicación (para absorver mas tráfico)
  • Disaster recovery (ya que se basa en manifiestos declarativos)



Arquitectura:

  • Hay dos componentes, el Master y los Workers.
  • Los workers corren un agente llamado kubelet.
  • El Master tiene varios servicios:
    • API SERVER: que los clientes interacciónen con el cluster (mediante WEB, API o comandos kubectl)
    • Controller Manager: responsable de lo que pasa en el cluster. Revisa los contenedores que estan corriendo frente a los contenedores que deberian estar corriendo.
    • Scheduler: recibe ordenes del Controller Manager responsable de mover pods entre Workers
    • etcd: base de datos del estado y configuraciones.



Pods:

  • Set de contenedores con una sola IP (comparten el namespace de red).
  • Son volatiles: cuando actualizas el aplicativo se destruye el antiguo y crea uno nuevo. Por ello no hay que llamar a la IP del pod, hay que llamar a la IP del servicio.
  • Overlay network: red de comunicacion entre pods de diferentes workers (para trabajar juntos)



Servicios:

  • Tipos:
    • Cluster IP: el mas común, es una IP fija (para comunicarnos con un pod o comunicar pods entre sí). El servicio encuentra los pods gracias a etiquetas.
    • Load Balancer: balanceador de cargar cloud.
    • Ingress: reglas basadas en el subdominio.
    • Node Port: crea un puerto en la APP para llegar a él.



Manifiestos:

  • Un manifiesto contiene un template de la aplicación. Tambien llamados deployement. Un deployement en un template para crear pods.
  • Cuando se aplica el template, el Controller Manager se encarga de crear los pods en el cluster.



Logo

Contact

Email: sergio.alegre.arribas EN gmail.com
LinkedIn: https://www.linkedin.com/in/sergioalegre
My certificates: http://certificates.sergioalegre.es
Website: http://me.sergioalegre.es

Built With

Getting Started


Prerequisites


Installation


Usage


Roadmap


Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

Dockers & Kubernetes practices: fastest growing project in the history of open Source software, after Linux.


Languages

Language:Dockerfile 62.0%Language:PowerShell 37.3%Language:Python 0.6%