Ubuntu Lab¶
Como crear un único Pod en un Clúster de Kubernetes.
Introduction¶
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 workshop 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.
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
ibmcloudykubectl. Configurar CLI.
Tiempo estimado¶
El tiempo estimado que puede llevar este workshop es menos de 30 minutos
Pasos¶
- Correr como Pod
- Correr como Implementación
- Acceder a la consola de Ubuntu
- 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.
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
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
kubectl get pods
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
telnet:
root@ubuntu:/# telnet 10.10.6.5 8080
Resumen¶
En este workshop pudimos ver como correr una instancia 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.