0% encontró este documento útil (0 votos)
19 vistas8 páginas

Tutorials

Cargado por

Juanca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas8 páginas

Tutorials

Cargado por

Juanca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

Esta sección de la documentación de Kubernetes contiene tutoriales.

Un tutorial muestra cómo lograr una meta que es más grande que una sola tarea. Típicamente
un tutorial tiene varias secciones y cada una de ellas contiene un procedimiento. Antes de
recorrer cada tutorial, recomendamos añadir un marcador a Glosario de términos para poder
consultarlo fácilmente.

Esenciales
• Kubernetes Basics se trata de un tutorial interactivo en profundidad para entender
Kubernetes y probar algunas funciones básicas.
• Scalable Microservices with Kubernetes (Udacity)
• Introduction to Kubernetes (edX)
• Hello Minikube

Configuración
• Ejemplo: Configurando un Microservicio en Java
• Configuring Redis Using a ConfigMap

Aplicaciones Stateless
• Exposing an External IP Address to Access an Application in a Cluster
• Example: Deploying PHP Guestbook application with Redis

Aplicaciones Stateful
• StatefulSet Basics
• Example: WordPress and MySQL with Persistent Volumes
• Example: Deploying Cassandra with Stateful Sets
• Running ZooKeeper, A CP Distributed System

Clústers
• AppArmor
• Seccomp

Servicios
• Using Source IP

Siguientes pasos
Si quieres escribir un tutorial, revisa utilizando templates para obtener información sobre el tipo
de página y la plantilla de los tutotriales.
Hello Minikube

Introducción

Formación en línea

Configuración

Aplicaciones Stateless

Aplicaciones Stateful

Clústeres

Servicios

Hello Minikube
Este tutorial muestra como ejecutar una aplicación Node.js Hola Mundo en Kubernetes
utilizando Minikube y Katacoda. Katacoda provee un entorno de Kubernetes desde el
navegador.

Nota: También se puede seguir este tutorial si se ha instalado Minikube localmente.

Objetivos
• Desplegar una aplicación Hola Mundo en Minikube.
• Ejecutar la aplicación.
• Ver los logs de la aplicación.

Antes de empezar
Este tutorial provee una imagen de contenedor construida desde los siguientes archivos:

minikube/server.js

var http = require('http');

var handleRequest = function(request, response) {


console.log('Received request for URL: ' + request.url);
response.writeHead(200);
response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);

minikube/Dockerfile

FROM node:6.14.2
EXPOSE 8080
COPY server.js .
CMD [ "node", "server.js" ]

Para más información sobre el comando docker build, lea la documentación de Docker .

Crear un clúster Minikube


1. Haz clic en Launch Terminal

Nota: Si se tiene instalado Minikube local, ejecutar minikube start.

2. Abrir el tablero de Kubernetes dashboard en un navegador:

minikube dashboard

3. Solo en el entorno de Katacoda: En la parte superior de la terminal, haz clic en el símbolo


+ y luego clic en Select port to view on Host 1.

4. Solo en el entorno de Katacoda: Escribir 30000, y hacer clic en Display Port.

Crear un Deployment
Un Pod en Kubernetes es un grupo de uno o más contenedores, asociados con propósitos de
administración y redes. El Pod en este tutorial tiene solo un contenedor. Un Deployment en
Kubernetes verifica la salud del Pod y reinicia su contenedor si este es eliminado. Los
Deployments son la manera recomendada de manejar la creación y escalación.

1. Ejecutar el comando kubectl create para crear un Deployment que maneje un Pod. El Pod
ejecuta un contenedor basado en la imagen proveida por Docker.

kubectl create deployment hello-node --image=registry.k8s.io/echoserver:1.4

2. Ver el Deployment:

kubectl get deployments

El resultado es similar a:

NAME READY UP-TO-DATE AVAILABLE AGE


hello-node 1/1 1 1 1m

3. Ver el Pod:

kubectl get pods

El resultado es similar a:

NAME READY STATUS RESTARTS AGE


hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m

4. Ver los eventos del clúster:

kubectl get events


Ver la configuración kubectl:
5.
kubectl config view

Nota: Para más información sobre el comando kubectl, ver kubectl overview.

Crear un Service
Por defecto, el Pod es accedido por su dirección IP interna dentro del clúster de Kubernetes,
para hacer que el contenedor hello-node sea accesible desde afuera de la red virtual Kubernetes,
se debe exponer el Pod como un Service de Kubernetes.

1. Exponer el Pod a la red pública de internet utilizando el comando kubectl expose:

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

El flag --type=LoadBalancer indica que se quiere exponer el Service fuera del clúster.

2. Ver el Service creado:

kubectl get services

El resultado es similar a:

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE


hello-node LoadBalancer 10.108.144.78 <pending> 8080:30369/TCP 21s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m

Para los proveedores Cloud que soportan balanceadores de carga, una dirección IP
externa será provisionada para acceder al servicio, en Minikube, el tipo LoadBalancer
permite que el servicio sea accesible a través del comando minikube service.

3. Ejecutar el siguiente comando:

minikube service hello-node

4. Solo en el entorno de Katacoda: Hacer clic sobre el símbolo +, y luego en Select port to
view on Host 1.

5. Solo en el entorno de Katacoda: Anotar el puerto de 5 dígitos ubicado al lado del valor de
8080 en el resultado de servicios. Este número de puerto es generado aleatoriamente y
puede ser diferente al indicado en el ejemplo. Escribir el número de puerto en el cuadro
de texto y hacer clic en Display Port. Usando el ejemplo anterior, usted escribiría 30369.

Esto abre una ventana de navegador que contiene la aplicación y muestra el mensaje
"Hello World".

Habilitar Extensiones
Minikube tiene un conjunto de Extensiones que pueden ser habilitados y desahabilitados en el
entorno local de Kubernetes.

1. Listar las extensiones soportadas actualmente:


minikube addons list

El resultado es similar a:

addon-manager: enabled
dashboard: enabled
default-storageclass: enabled
efk: disabled
freshpod: disabled
gvisor: disabled
helm-tiller: disabled
ingress: disabled
ingress-dns: disabled
logviewer: disabled
metrics-server: disabled
nvidia-driver-installer: disabled
nvidia-gpu-device-plugin: disabled
registry: disabled
registry-creds: disabled
storage-provisioner: enabled
storage-provisioner-gluster: disabled

2. Habilitar una extensión, por ejemplo, metrics-server:

minikube addons enable metrics-server

El resultado es similar a:

metrics-server was successfully enabled

3. Ver el Pod y Service creados:

kubectl get pod,svc -n kube-system

El resultado es similar a:

NAME READY STATUS RESTARTS AGE


pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m
pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m
pod/metrics-server-67fb648c5 1/1 Running 0 26s
pod/etcd-minikube 1/1 Running 0 34m
pod/influxdb-grafana-b29w8 2/2 Running 0 26s
pod/kube-addon-manager-minikube 1/1 Running 0 34m
pod/kube-apiserver-minikube 1/1 Running 0 34m
pod/kube-controller-manager-minikube 1/1 Running 0 34m
pod/kube-proxy-rnlps 1/1 Running 0 34m
pod/kube-scheduler-minikube 1/1 Running 0 34m
pod/storage-provisioner 1/1 Running 0 34m

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE


service/metrics-server ClusterIP 10.96.241.45 <none> 80/TCP 26s
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 34m
service/monitoring-grafana NodePort 10.99.24.54 <none> 80:30002/TCP
26s
service/monitoring-influxdb ClusterIP 10.111.169.94 <none> 8083/TCP,8086/
TCP 26s

4. Deshabilitar metrics-server:

minikube addons disable metrics-server

El resultado es similar a:

metrics-server was successfully disabled

Limpieza
Ahora se puede eliminar los recursos creados en el clúster:

kubectl delete service hello-node


kubectl delete deployment hello-node

Opcional, detener la máquina virtual de Minikube:

minikube stop

Opcional, eliminar la máquina virtual de Minikube:

minikube delete

Siguientes pasos
• Leer más sobre Deployments.
• Leer más sobre Desplegando aplicaciones.
• Leer más sobre Services.

Introducción

Crear un clúster

Desplegar una aplicación

Consultar el estado de una aplicación

Exponer una aplicación

Escalar una aplicación

Actualizar una aplicación

Crear un clúster
Tutorial interactivo - Crear un clúster

Tutorial interactivo - Crear un clúster


html
Para interactuar con la Terminal, use la versión de escritorio / tableta
Continuar con el Módulo 2›

Desplegar una aplicación

Tutorial interactivo - Implementando una aplicación

Tutorial interactivo - Implementando una


aplicación
html

Para interactuar con la Terminal, use la versión de escritorio / tableta


Continuar con el Módulo 3›

Consultar el estado de una aplicación


Exponer una aplicación
Escalar una aplicación
Actualizar una aplicación
Formación en línea
Configuración
Aplicaciones Stateless
Aplicaciones Stateful
Clústeres
Servicios

También podría gustarte