Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
NotificationsYou must be signed in to change notification settings

curso-devops/4-kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

  1. Introducción a Kubernetes
  2. Arquitectura interna de un cluster de kubernetes
  3. Tipos de instalación de kubernetes
  4. Instalación de kubectl y minikube con el controlador de docker
  5. Iniciar minikube usando hipervisor virtualbox

1. Introducción a Kubernetes

Escalabilidad

Es la capacidad de los sistemas para adaptarse al crecimiento por la demanda y complejidad.

  • Vertical: Agregar más recursos al mismo nodo y aumentar la capacidad de cómputo.
  • Horizontal: Agregar más nodos que se adapten a la carga de trabajo.

Kubernetes se utiliza para el escalado horizontal.

Kubernetes

Kubernetes es un sistema para automatizar el despliege escalado y admininstración de aplicaciones en contenedores.

  • OpenSource
  • Auto-sanado
  • Escalado horizontal
  • Balanceo de carga y discovery

En Kubernetes todo se conoce como objetos. Se realizan peticiones de definición mediante la API y se almacenan en la base de datos etcd en formato yaml.

Conceptos fundamentales

  • PODS:

    • Unidad más pequeña que se puede desplegar y gestionar en kubernetes.
    • Es un grupo de uno o más contenedores que comparten almacenamientop y red además de especificaciones de cómo ejecutarse.
    • Son efímeros.
  • Deployments:

    • Describe el estado deseado de una implementación.
    • Ejecuta multimles réplicas de la aplicación.
    • Reemplaza las que están defectuosas o las que no responden.
  • Services:

    • Definición de cómo exponer una aplicación que se ejecuta en un conjunto de pods como un sevicio de red.
    • Por defecto se usa round-robin para balanceo de carga.
  • Config map:

    • Permite desacoplar la configuración para hacer las imágenes más portables:
    • Almacenan variables de entorno, argumentos para línea de comandos o configuración de volúmenes que pueden consumir los pods (no soportan encriptación).
  • Labels:

    • Pares de clave-valor para organizar, seleccionar, consultar y monitorizar objetos de forma más eficiente.
    • Ideales para UI y CLIs.
  • Selectores:

    • Mecanismo para hacer consultas a las etiquetas.

2. Arquitectura interna de un cluster de kubernetes

Cuando se implementa kubernetes se obiente un clúster, que consta de un conjunto de máqunas de cómputo (nodos) que ejecutan aplicaciones en contenedores.

Los nodos alojan los pods que son los componentes de la carga de trabajo de la aplicación.

Image 1

  • kube-apiserver: Provee la interfaz para las herramientas de administración (kubectl o kubernetes dashboard).
  • etcd: Almacenamiento que mantiene la configuración y el estado del clúster.
  • kube-scheduler: Al crear o escalar las aplicaciones, selecciona el nodo para los pods y los ejecuta.
  • kube-controller-manager: Supervisa controladores más pequeños que ejecutan tareas de replicar pods y mangejar operaciones de los nodos.

3. Tipos de instalación de kubernetes

Managed kubernetes

  • AKS: Azure Kubernetes Service.
  • EKS: Amazon Elastic Kubernetes Service.
  • GKE: Google Kubernetes Engine.
  • IBM Cloud

Onpremise kubernetes

  • All in one: Se instala todo en un único nodo usando mini kube (para propósitos educativos y pruebas).
  • Single master and multiworker: Un nodo para elcontrol panel y uno o más nodos controlados por el master.
  • Single master, single etcd and multiworker: Un nodo para el ĉontrol panel un nodo para almacenar la configuración y el estado y uno o más nodos controlados por el master.
  • Multimaster and multiworker: Múltiples nodos para elcontrol panel en alta disponibilidad y uno o mñas nodos controlados por el master.
  • Multimaster, multietcd and multiworker: Multiples nodos para elcontrol panel y múltiples nodos para el almacenamiento etcd en alta disponibilidad y uno o más nodos controlados por el master.

4. Instalación de kubectl y minikube con el controlador de docker

Para empezar comprobamos las actualizaciones del sistema:

sudo apt-get update -ysudo apt-get upgrade -y

Después deberemos instalar algunas dependencias de descarga de datos:

sudo apt-get install apt-transport-https wget curlsudo apt install virtualbox virtualbox-ext-pack

En la instalación dale a Aceptar y acepta la licencia.

A continuación descarga minikube, dale permisos e instálalo para que tengas acceso desde cualquier sitio:

wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64chmod +x minikube-linux-amd64sudo mv minikube-linux-amd64 /usr/local/bin/minikube

Comprueba que está bien instalado ejecutando:

minikube version

Instala kubectl, dale permisos y colócalo en el path:

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectlchmod +x ./kubectlsudo mv ./kubectl /usr/local/bin/kubectl

Comprueba que va todo correcto

kubectl version -o json

Arranqua minikube

minikube start

si ves que falla por un tema de red:

docker swarm leave --forcedocker network prune

Si falla por un tema de permisos:

sudo usermod -aG docker $USER && newgrp docker

Comprueba que tienes acceso:

kubectl cluster-infokubectl config view

Podemos ver el estado de minikube con el comando:

minikube status

Para detener la ejecución usamos el comando:

minikube stop

Para utilizar el dashboard de minikube usamos el comando

minikube dashboard

5. Iniciar minikube usando hipervisor virtualbox

Para poder lanzar minikube a través de virtualbox, debemos eliminar el cluster creado anteriormente mediante el comando:

minikube delete

Una vez instaladovirtualbox

Lanzamos minikube con el comando

minikube start --driver=virtualbox

Ahora podemos ver minikube virtualizado a través de la interfaz gráfica de virtualbox.

En cualquier caso, en la siguiente sección utilizaremos minikube con el controlador de docker así que eliminaremos de nuevo el cluster creado y volveremos a crearlo con el driver de docker...

minikube deleteminikube start --driver=docker

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp