Conociendo Kubernetes


Aprendiendo Kubernetes.

Published on January 25, 2021 by Lucho

post k8s microservices

2 min READ

Hola amigooos. En este post estaremos hablando un poquito de kubernetes.

¿Que es Kubernetes?

Kubernetes (referido en inglés comúnmente como “K8s”) es un sistema de código libre para la automatización del despliegue, ajuste de escala y manejo de aplicaciones en contenedores

Wiki

Recurso

Conceptos Basicos

  • Namespaces
    • Espacios de Trabajos
  • Pods
    • Un contenedor o una serie de contenedores unificados por etiquetas
  • Deployments
    • Manifiesto declarativo de estado para crear Pods y ReplicaSets que el Controlador se encarga de conseguir el estado deseado
  • Services
    • Es un conjunto de pods que trabajan en conjunto, como una capa de una aplicación multicapas
  • Ingress
    • Objeto que nos va a permitir controlar muchos aspectos de nuestra red en nuestro cluster de Kubernetes

Tutorial

Instalacion

Instalacion con el uso de snap

sudo snap install microk8s --class
microk8s status --wait-ready 

Habilitar Addons de MicroK8S

microk8s enable dashboard dns storage 

Agregar este alias al bashrc

alias mkctl="microk8s kubectl"
source ~/.bashrc

Listo

mkctl get namespace

Namespaces

Ver los namespaces por defecto

Vns

Creando namespaces

Cns

Usando YAML

CYns

Eliminar namespaces

Dns

Pods

Crear un pod

CreatePod

Nota: Para ver mas informacion sobre el Pod

mkctl describe pod wildfly

Acceso a un Pod

IntroPod

Ver logs de de un pods

mkctl logs -f wildfly

=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/jboss/wildfly

  JAVA: /usr/lib/jvm/java/bin/java

  JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true  --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED

=========================================================================

16:08:12,663 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0006: Undertow HTTPS listener https listening on 0.0.0.0:8443
16:08:12,849 INFO  [org.jboss.ws.common.management] (MSC service thread 1-1) JBWS022052: Starting JBossWS 5.4.2.Final (Apache CXF 3.3.7)
16:08:12,984 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
16:08:12,986 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 21.0.2.Final (WildFly Core 13.0.3.Final) started in 6641ms - Started 317 of 579 services (370 services are lazy, passive or on-demand)
16:08:12,987 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
16:08:12,988 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990

Deployments

Crear Deployment

D_Create

Al aplicar el despliegue se nos crea el pod que declaramos en el archivo yaml

D_Pod

Eliminar Deployment

D_Delete

Services

Crear un Service

  • Crear un Deployment

D-W-M

Deploy

Service

Hasta la proxima…