Introducción a Kubernetes

1

¿Qué es Kubernetes y por qué es importante?

2

Configura un clúster local con Minikube o Kind

3

Arquitectura de Kubernetes: nodos, pods, servicios y componentes clave

4

Introducción a la API de Kubernetes y kubectl

5

Diferencias entre enfoques declarativos e imperativos

Quiz: Introducción a Kubernetes

Objetos y Recursos de Kubernetes

6

Pods, ReplicaSets y Deployments

7

Servicios e Ingress: Exposición de aplicaciones

8

ConfigMaps y Secrets: Gestión de configuraciones y datos sensibles

Quiz: Objetos y Recursos de Kubernetes

Redes y Almacenamiento en Kubernetes

9

Modelo de red de Kubernetes: Comunicación entre pods y servicios

10

Tipos de servicios: ClusterIP, NodePort, LoadBalancer y ExternalName

11

Volúmenes persistentes (PV) y reclamaciones (PVC)

12

DaemonSets y StatefulSets

Quiz: Redes y Almacenamiento en Kubernetes

Cargas de Trabajo y Escalado

13

Despliegue de una aplicación multi-tier en Local

14

Jobs y CronJobs: Tareas únicas y programadas

15

Escalado de aplicaciones: HPA y VPA

16

Escalado de aplicaciones en Kubernetes

Quiz: Cargas de Trabajo y Escalado

Kubernetes en la Nube

17

Introducción a EKS, AKS y GKE

18

Configuración de Kubernetes en EKS (AWS)

19

Configuración de Kubernetes en AKS (Azure) y GKE (Google Cloud)

20

Despliegue del Proyecto en la nube de AWS (EKS)

Quiz: Kubernetes en la Nube

Troubleshooting, Casos de uso y Certificaciones K8s

21

Troubleshooting en Kubernetes

22

Otros casos de uso de Kubernetes

23

Certificaciones profesionales en K8s

24

Despliegue en Kubernetes Finalizado

Curso de Kubernetes

Curso de Kubernetes

Jaggy Castaño

Jaggy Castaño

Configura un clúster local con Minikube o Kind

2/24
Recursos
Transcripción

¿Cómo configurar un clúster local de Kubernetes con MiniKube?

Kubernetes es una herramienta poderosa y compleja, pero no es necesario tener un clúster gigante para comenzar a trabajar con ella. Puedes configurar un clúster en tu máquina local utilizándolo de manera simple y efectiva. MiniKube es la solución ideal para testar y experimentar con Kubernetes sin mucha complicación, y en este artículo te mostraremos cómo hacerlo. Sigue leyendo para descubrir cómo instalar y configurar MiniKube y KubeCtl en pasos sencillos.

¿Qué herramientas necesitas instalar?

Para trabajar con Kubernetes en un entorno local, se requieren dos herramientas esenciales:

  1. KubeCtl: permite la comunicación con el clúster.
  2. MiniKube: despliega una instancia de Docker para simular el entorno de Kubernetes.

Instalación de KubeCtl

Para instalar KubeCtl en macOS usando HomeBrew, simplemente ejecuta:

brew install kubectl

Una vez instalado, puedes verificar su funcionamiento ejecutando:

kubectl --help

Esto te proporcionará una lista de comandos básicos a utilizar. No te preocupes si parece mucha información; a lo largo del aprendizaje te familiarizarás con estos comandos.

Instalación de MiniKube

Similarmente, para instalar MiniKube usando HomeBrew:

brew install minikube

Con MiniKube, puedes ejecutar:

minikube --help

Este comando te mostrará varias opciones, como iniciar, detener clústers, y conectar diferentes plugins.

¿Cómo inicializar tu clúster con MiniKube?

Ya con las herramientas instaladas, el siguiente paso es inicializar el clúster. Esto lo logras ejecutando:

minikube start --driver=docker

Este comando utiliza Docker como driver por defecto, pero MiniKube te permite trabajar con otros hypervisors como HyperB o VirtualBox, dependiendo de tu sistema operativo.

¿Cómo aprovechar las funcionalidades de MiniKube?

MiniKube no solo facilita la creación de clústers, sino que también cuenta con utilidades adicionales:

  • Crear clústers multinodo.
  • Configurar un dashboard de manera sencilla.
  • Exponer servicios a través de tunelización.

Además, puedes listar los plugins disponibles con:

minikube addons list

Para mejorar aún más la funcionalidad, puedes habilitar ciertos complementos como el 'registry' y el 'Metric Server':

    
        minikube addons enable registry
        eval $(minikube docker-env)
        minikube addons enable metrics-server
    

¿Cómo interactuar con tu clúster local?

Una vez completada la configuración, puedes ejecutar comandos básicos para interactuar con tu clúster local. Por ejemplo, para ver los nodos:

kubectl get nodes

Para gestionar y visualizar las imágenes de Docker dentro de tu clúster, puedes ejecutar:

docker images

Para comprobar el contexto del clúster y cambiar entre diferentes contextos, utiliza:

kubectl config get-contexts
kubectl config use-context "nombre-contexto"

¿Cómo desplegar aplicaciones en Kubernetes?

Puedes desplegar aplicaciones en tu entorno de Kubernetes de forma rápida. Por ejemplo, para desplegar una imagen de prueba:

kubectl run hello-cloud --image=nginx

Luego, verifica el estado de tus pods con:

kubectl get pods

¿Cómo usar el dashboard de Kubernetes?

MiniKube te permite interactuar con Kubernetes a través de un dashboard web. Puedes acceder a él con el siguiente comando:

minikube dashboard

Esto abrirá una URL en tu navegador, donde podrás visualizar tus pods, deployments y más, ofreciendo una representación gráfica del funcionamiento interno de Kubernetes.

Es impresionante como herramientas como MiniKube y KubeCtl pueden simplificar el aprendizaje y experimentación de Kubernetes. No te detengas aquí; continúa explorando, practicando y desarrollando tus habilidades para estar preparado en ambientes de producción reales.

Aportes 13

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

este es el comando que cea la imagen de hello-cloudkubectl run hello-cloud --image=gcr.io/google-samples/hello-app:2.0 --restart=Never --port=8080 ```js kubectl run hello-cloud --image=gcr.io/google-samples/hello-app:2.0 --restart=Never --port=8080 ```
Los comandos utilizados en la clase incluyen: 1. `kubectl --help`: Muestra la ayuda de comandos básicos para `kubectl`. 2. `minikube --help`: Muestra las opciones disponibles para `minikube`. 3. `minikube start --driver=docker`: Inicia un clúster de Minikube utilizando Docker como driver. 4. `kubectl get nodes`: Muestra los nodos en el clúster. 5. `minikube addons list`: Lista los complementos disponibles en Minikube. 6. `minikube addons enable registry`: Habilita el registro local. 7. `minikube addons enable metrics-server`: Habilita el servidor de métricas. Estos son comandos clave para gestionar y configurar un clúster local en Kubernetes.
Kubernetes es una plataforma de código abierto para administrar contenedores. Fue desarrollada por Google y actualmente es mantenida por la Cloud Native Computing Foundation1. Kubernetes facilita la automatización y configuración declarativa de cargas de trabajo y servicios. Configuración de Kubernetes en tu máquina local Minikube es una herramienta que te permite ejecutar un clúster de Kubernetes en tu máquina local. Instalar Minikube: Primero, necesitas instalar Minikube en tu sistema. Puedes hacerlo usando Homebrew en macOS, Chocolatey en Windows, o directamente desde el repositorio de Minikube en Linux. Iniciar Minikube: Una vez instalado, puedes iniciar Minikube: minikube start Verificar el estado de tu clúster con: minikube status Acceder al clúster: kubectl config use-context minikube Kind (Kubernetes IN Docker) es otra herramienta que te permite crear un clúster de Kubernetes usando contenedores Docker. Instalar Kind: Primero, instala Kind en tu sistema. Puedes hacerlo usando Homebrew en macOS o directamente desde el repositorio de Kind en Linux. Crear un clúster Kind: kind create cluster Verificar el clúster: kind get clusters Acceder al clúster: kubectl config use-context kind-kind Ambas herramientas Minikube o Kind son excelentes para probar y desarrollar aplicaciones en Kubernetes sin necesidad de un entorno de producción completo.
Para ejecutar el equivalente del comando `eval $(minikube docker-env)` en Windows, deberás usar el siguiente comando en PowerShell: ```powershell & minikube docker-env | Invoke-Expression ``` Esto configurará el entorno de Docker en tu terminal de Windows para que utilices Minikube. Asegúrate de tener Minikube instalado y ejecutándose.
Para instalar Minikube y kubectl, sigue estos pasos: 1. **Instala kubectl**: Utiliza el gestor de paquetes correspondiente a tu sistema operativo. Por ejemplo, en MacOS con Homebrew: ``` brew install kubectl ``` 2. **Instala Minikube**: También con Homebrew, ejecuta: ``` brew install minikube ``` 3. **Inicia el clúster**: Ejecuta el siguiente comando para iniciar Minikube usando Docker: ``` minikube start --driver=docker ``` 4. **Verifica la instalación**: Comprueba que el clúster está funcionando con: ``` kubectl get nodes ``` Estos pasos te permitirán tener un clúster de Kubernetes corriendo localmente.
En este enlacen encuentran las instrucciones de instalación para todos los S.O. [https://kubernetes.io/docs/tasks/tools](https://kubernetes.io/docs/tasks/tools/\>\&#x20)/
Para realizar una instalacion exitosa en Debian 12 x86-64, es necesario tener en cuenta: 1\. Tener docker instalado Si no lo tienes instalado, aca te dejo el paso a paso ```js for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo docker run hello-world ```2. instalar kubectl ```js curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" echo "$(cat kubectl.sha256) kubectl" | sha256sum --check sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl kubectl version --client ```3. Instalar MiniKube ```js curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64 ``` Esto te permitira, seguir el curso sin fallo alguno! Espero mi pequeno aporte le sirva a alguien.
Durante la clase se utilizaron los siguientes comandos relevantes para configurar y gestionar el clúster local de Kubernetes con Minikube: 1. `brew install kubectl` - Instala Kubectl. 2. `brew install minikube` - Instala Minikube. 3. `minikube start --driver=docker` - Inicializa el clúster de Minikube. 4. `kubectl get nodes` - Muestra los nodos del clúster. 5. `minikube addons list` - Lista los complementos disponibles. 6. `minikube addons enable registry` - Habilita el registro. 7. `minikube addons enable metrics-server` - Habilita el servidor de métricas. 8. `kubectl run hello-cloud --image=hello-cloud` - Despliega un pod de prueba. Estos comandos son fundamentales para trabajar con Kubernetes en un entorno local.
Tutorial para instalar kubectl en windows: <https://www.youtube.com/watch?v=G9MmLUsBd3g>
### 1. Verifica si Docker está instalado Primero, verifica si Docker está instalado en tu sistema. Puedes hacerlo ejecutando el siguiente comando en tu terminal: docker --version Si Docker está instalado, deberías ver algo como: Docker version 20.10.12, build e91ed57 Si no ves una salida como esta, significa que Docker no está instalado. ### 2. Instala Docker Si Docker no está instalado, necesitas instalarlo. Puedes seguir las instrucciones oficiales de Docker para tu distribución de Linux. Aquí te dejo un resumen de los pasos para instalar Docker en OpenSUSE Tumbleweed: 1. **Agrega el repositorio de Docker:**sudo zypper addrepo \<https://download.opensuse.org/repositories/Virtualization:containers/openSUSE\_Tumbleweed/Virtualization:containers.repo> 2. **Actualiza los repositorios:**sudo zypper refresh 3. **Instala Docker:**sudo zypper install docker 4. **Habilita y arranca el servicio de Docker:**sudo systemctl enable docker sudo systemctl start docker 5. **Verifica que Docker esté corriendo:**sudo systemctl status docker 6. **Agrega tu usuario al grupo** `docker` **para evitar tener que usar** `sudo` **cada vez que ejecutes comandos de Docker:**sudo usermod -aG docker $USER Luego, cierra y vuelve a abrir tu sesión de terminal para que los cambios surtan efecto. ### 3. Verifica que Docker esté en tu `$PATH` Si Docker está instalado pero aún recibes el error, asegúrate de que el ejecutable de Docker esté en tu variable de entorno `$PATH`. Puedes verificar esto ejecutando: which docker Esto debería devolver algo como `/usr/bin/docker`. Si no devuelve nada, es posible que Docker no esté en tu `$PATH`. En ese caso, puedes agregar manualmente la ruta de Docker a tu `$PATH`: export PATH=$PATH:/usr/bin/docker ### 4. Intenta nuevamente con Minikube Una vez que hayas verificado que Docker está instalado y en tu `$PATH`, intenta iniciar Minikube nuevamente: minikube start --driver=docker Si todo está configurado correctamente, Minikube debería iniciarse sin problemas. ### 5. (Opcional) Usa otro driver si Docker no es una opción Si por alguna razón no puedes o no quieres usar Docker, Minikube soporta otros drivers como `kvm2`, `virtualbox`, `podman`, etc. Puedes cambiar el driver usando la opción `--driver`: minikube start --driver=\<otro-driver> Por ejemplo, si prefieres usar `kvm2`: minikube start --driver=kvm2 Asegúrate de que el driver que elijas esté instalado y configurado correctamente en tu sistema. ¡Espero que esto resuelva tu problema! Si tienes más preguntas, no dudes en preguntar.
📌 Tip-cito: si quieren escribir menos, aprovechen los alias: `alias k='kubectl'`
![](https://static.platzi.com/media/user_upload/image-66d2fc42-3041-4481-816a-7e4edff2e98b.jpg) ### **Recomendación para usuarios con este error:** 1. **Verifica que Docker Desktop esté instalado**: * Si no está instalado, descárgalo desde [Docker Desktop]() y completa la instalación. 2. **Ejecuta Minikube con el controlador Docker**: * Ahora, intenta iniciar Minikube nuevamente:powershellCopiarEditarminikube start --driver=docker
buena clase, tengo muchas expectativas