Kubernetes es una plataforma de código abierto para orquestar y administrar contenedores a través de clústeres de hosts. Kubernetes permite el despliegue, escalado y gestión automática de contenedores para lograr alta disponibilidad, así como funciones como descubrimiento de servicios, balanceo de carga y monitoreo de estado. Kubernetes se ha convertido en el orquestador de contenedores más popular debido a su capacidad de ejecutar billones de contenedores a gran escala y su amplia comunidad de desarrolladores.
7. Kubernetes
Kubernetes es una
plataforma open-source
para orquestar, automatizar
el despliegue, escalar,
gestionar y operar
contenedores a través de
clusters de hosts.
8. Planet Scale
Diseñado bajo los mismos principios que permiten a
Google ejecutar billones de contenedores a la
semana, combinado con las mejores ideas y
prácticas de la comunidad.
11. Run Anywhere
Cloud Providers: GCE, AWS, Azure, DigitalOcean, etc
export KUBERNETES_PROVIDER=<your_provider>; ./cluster/kube-up.sh
On-Premise: Centos, Fedora, Ubuntu, CoreOS, Vagrant, etc
Hosted Solutions: Google Container Engine,
RedHat OpenShift, CoreOS Tectonic, Azure Container Service
Localmente para desarrollar o probar (Minikube) en
MacOS ,Linux o Windows, utilizando VirtualBox o VMWare
12. Nodes
Máquinas donde se ejecutan los contenedores,
• Dentro de cada nodo se encuentra Docker Host
y diversos agentes de k8s (kubelet, proxy)
• K8s considera a la colección de nodos como una sola unidad lógica.
13. Pods
Mínima unidad lógica desplegable en
Kubernetes.
Container
10.1.0.1
Sidecar
Container
Pod
GCE
NFS
AWS
• ConEenen
un
grupo
de
contenedores
(usualmente
uno).
• Se
le
puede
montar
volúmenes.
• IP
diferente
por
Pod,
localhost
dentro
del
Pod.
14. Scheduler
- Elige el lugar y levanta el Pod dentro de los nodos.
- El mejor lugar es elegido en base a los
requerimientos del Pod.
Pod
15. Arquitectura
Master
Node
Pod
Pod
Pod
API
Server
Scheduler
Controller
Manager
Docker
kubelet
kube-‐proxy
Node
Pod
Pod
Docker
kubelet
kube-‐proxy
etcd
16. Replication Controllers
• Asegura que un número
especificado de “Replicas”
siempre se estén
ejecutando.
• Self Healing.
Maneja un conjunto replicado de Pods.
Pod
Pod
Pod
17. Services
Abstrae un conjunto de Pods a través de un único
nombre/IP y puerto (Service Discovery)
• Endpoints estables para
acceder a los Pods.
• Define una política de acceso
(Node Port, Load Balancer, etc.)
• Backend (pods) dinámico
basado en Labels.
Container
10.1.0.1
Pod
-‐
1
Container
10.1.0.2
Pod
-‐
2
Service
“Name”