¡Participa de la Maratón Behind the Code, la competencia de programación más desafiante! Inscríbete aqui

Ubuntu Lab: Como crear un único Pod en un Clúster de Kubernetes

Introducción

Cómo se puede crear un único Pod en un Clúster de Kubernetes en IBM Cloud? Un Pod es un grupo de uno o más contenedores, con recursos de red y almacenamiento compartidos y una especificación de cómo ejecutar los contenedores. Cuando un Pod ejecuta un solo contenedor, es como tener un entorno para un solo contenedor. Kubernetes administra los Pods en lugar de administrar los contenedores directamente.

En este tutorial vamos a ver cómo implementar un Pod de Ubuntu en Kubernetes en IBM Cloud, con el objetivo de tener un Laboratorio para pruebas. Dado que los Pods son desechables, no es recomendable para usar en Producción. Crearemos un contenedor usando la última imagen de Ubuntu en Docker Hub.

Módulos de esta ruta de aprendizaje

Completa estos tutoriales para obtener las habilidades prácticas y el conocimiento.

Título Tiempo Descripción
1 Desplegar WordPress en Kubernetes en IBM Cloud 30 minutos Aprender a desplegar uno de los más conocidos frameworks de sitios webs como lo es WordPress
2 Desplegar una aplicación desde una imagen propia de Docker en Kubernetes en IBM Cloud 30 – 60 minutos Aprenderemos a crear y modificar una imágen de Docker, subirla al repositorio en Docker Hub y actualizarla
3 Ubuntu Lab: Como crear un único Pod en un Clúster de Kubernetes Menos de 30 minutos Vamos a ver cómo implementar un Pod de Ubuntu en Kubernetes en IBM Cloud, con el objetivo de tener un Laboratorio para pruebas.
4 Monitoreo en Kubernetes: Crear una instacia de Grafana en Kubernetes y acceder externamente 30 minutos Vamos a ver cómo configurar un panel de Grafana en un Clúster de Kubernetes en IBM Cloud, usando Prometheus como herramienta de análisis de datos.
5 Aplicación PHP con MongoDB en Kubernetes 30 minutos Vamos a ver cómo implementar una aplicación PHP tipo Libro de Visitas con varios niveles utilizando Kubernetes y Docker, con una instancia única de MongoDB para almacenar las entradas del libro de visitas y varias instancias de frontend web.
6 Kubernetes en lo Profundo, tres elementos importantes 30 minutos Vamos a ver tres elementos que son muy importantes para ir profundizando en el uso de Kubernetes.

Requisitos

  • Una cuenta gratuita de IBM Cloud. Te podes registrar acá si no tenes una aun.
  • Un Cluster de Kubernetes gratuito en IBM Cloud. Obtener acá.
  • Tener habilitados los comandos ibmcloud y kubectl. Configurar CLI.
  • Puedes encontrar el repositorio con los archivos necesarios y ejemplificativos aquí

Tiempo estimado

El tiempo estimado que puede llevar este tutorial es menos de 30 minutos

Pasos

  1. Correr como Pod
  2. Correr como Implementación
  3. Acceder a la consola de Ubuntu del contenedor
  4. Instalar un paquete de prueba

Se puede correr como Pod o como Implementación, debajo se detallan las dos opciones.

  1. Correr como Pod:

    Contenido de archivo ubuntu-as-pod.yaml para la creación del Pod.

    yaml
    apiVersion: v1
    kind: Pod
    metadata:
     name: ubuntu
     labels:
       app: ubuntu
    spec:
     containers:
     - name: ubuntu
       image: ubuntu:latest
       command: ["/bin/sleep", "3650d"]
       imagePullPolicy: IfNotPresent
     restartPolicy: Always
    

    Aplicar la creación del Pod:

    kubectl apply -f ubuntu-as-pod.yaml
    

    Listar los Pods activos:

    kubectl get pods
    
  2. Correr como Implementación

    Contenido del archivo ubuntu-deployment.yaml para la implementación.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
     creationTimestamp: null
     labels:
       app: ubuntu
     name: ubuntu
    spec:
     replicas: 1
     selector:
       matchLabels:
         app: ubuntu
     strategy: {}
     template:
       metadata:
         creationTimestamp: null
         labels:
           app: ubuntu
       spec:
         containers:
         - image: ubuntu
           name: ubuntu
           command: ["/bin/sleep", "3650d"]
           resources: {}
    

    Desplegar la Implementación:

    kubectl apply -f ubuntu-deployment.yaml
    

    Listar los pods activos:

    kubectl get pods
    

    Listar todo para ver la Implementación y el Pod:

    kubectl get all
    
  3. Acceder a la Consola del Pod:

    Luego de confirmar que el Pod se está ejecutando, se puede acceder a la consola con el siguiente comando:

    kubectl exec --stdin --tty ubuntu -- /bin/bash
    
  4. PRUEBA: Instalar paquetes en un pod de Ubuntu

    Se puede usar la herramienta estándar de administración de paquetes apt de Ubuntu.

    El siguiente ejemplo instala telnet en el contenedor de Ubuntu.

    root@ubuntu:/# apt update
    root@ubuntu:/# apt install telnet
    

    Probar funcionamiento de telnet:

    root@ubuntu:/# telnet 10.10.6.5   8080
    

Resumen

En este tutorial pudimos ver como correr una isntancia de Ubuntu en un solo Pod o en un Pod con una Implementación. Una instacia de Ubuntu es muy útil para usar como Laboratorio de pruebas de paquetes o versiones diferentes de productos o aplicaciones. También sirve como base para luego avanzar en otros aspectos de Kubernetes, como volúmenes persistentes o servicios de red.

Enlaces Interesantes