¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Kubernetes
  3. Instalar Kubernetes en interno
Extrait - Kubernetes Administre la plataforma de despliegue de sus aplicaciones en contenedores
Extractos del libro
Kubernetes Administre la plataforma de despliegue de sus aplicaciones en contenedores
4 opiniones
Volver a la página de compra del libro

Instalar Kubernetes en interno

Objetivos del capítulo y requisito previos

La instalación de Kubernetes por usted mismo requiere una inversión relacionada con los siguientes puntos:

  • Complejidad intrínseca del producto.

  • Conocimiento previo del sistema (DNS, almacenamiento, sistema, etc.).

Por lo demás, la instalación se realizará mediante Kubespray (basado en Ansible) para ocultar gran parte de los siguientes aspectos de bajo nivel:

  • Paquetes y servicios de sistema.

  • Configuración de piezas del clúster.

Sin embargo, el lector debe disponer de un conocimiento previo mínimo sobre la administración del sistema y, en particular, la comunicación entre máquinas usando el protocolo SSH.

Instalación usando Kubespray

1. Origen de la necesidad

La instalación de Kubernetes requiere tiempo y un conocimiento relativamente avanzado sobre diferentes productos: Etcd, Docker, el propio Kubernetes, etc.

El uso de un clúster de Kubernetes administrado mediante un servicio gestionado permite responder rápidamente a una solicitud de instalación. Sin embargo, por diversas razones, no siempre es posible pasar por el cloud (seguridad, política interna, etc.). En este caso, es necesario volver a soluciones más tradicionales.

2. ¿Por qué Kubespray?

Kubernetes se puede instalar completamente a mano (método Kelsey Hightower) o usando herramientas como Kubeadm.

Este enfoque permitirá entender muy bien todos los elementos del clúster. Por otro lado, si la instalación se debe realizar en menos de una semana, este método no será necesariamente el más adecuado.

3. Principio de Kubespray

Kubespray no es una solución llave en mano en comparación con herramientas como Kops. Más bien se trata de una colección de procedimientos que permiten instalar un clúster de Kubernetes.

La programación de la instalación se realiza con Ansible y con procedimientos en forma de playbooks.

Por otro lado, cuando use el clúster en el cloud, utilice los servicios gestionados disponibles en su lugar (descritos en el capítulo anterior).

4. Requisitos previos de las máquinas que se van a administrar con Ansible

a. Intercambiar claves SSH

Ansible se basa en el protocolo SSH para funcionar. Por lo tanto, el intercambio de claves SSH con las máquinas que se van a administrar es un requisito previo.

 Para verificar la comunicación entre la estación de trabajo actual y la máquina remota, llame al comando ssh seguido del nombre de la máquina, con el prefijo de la cuenta en la que se realizó el intercambio de claves.

La verificación de la comunicación entre la máquina nodo1 como usuario administrador se realizará de la siguiente manera:

$ ssh admin@nodo1 

 Para un acceso directo como root, lance el comando siguiente:

$ ssh root@nodo1 

Si el intercambio de claves SSH no es efectivo, pero se conoce la contraseña del usuario remoto, llame al comando ssh-copy-id:

$ ssh-copy-id admin@nodo1 

Seguidamente, el comando...

Entorno incorporado con k3s

1. Presentación y objetivo del proyecto

El proyecto k3s es un proyecto iniciado por Rancher Labs. Su propósito es hacer que Kubernetes funcione en entornos con restricciones de memoria y CPU (para IOT, por ejemplo). De esta manera, permite disponer de las capacidades de Kubernetes en computación embebida.

También puede ser una alternativa a Minikube para configurar un clúster Kubernetes de prueba, en una estación de trabajo local. Sin embargo, tenga cuidado con las limitaciones introducidas por su uso.

A fin de reducir al máximo la información del sistema, se han eliminado algunos elementos para mantener solo lo mínimo:

  • Eliminación las funciones alfa, beta u obsoletas de Kubernetes.

  • Eliminación de controladores de almacenamiento o cloud incrustados en el código.

  • Uso de sqlite en lugar de etcd.

  • Un único binario para gestionarlo todo.

  • Pocas/ningunas dependencias a nivel de SO.

La mayoría de los usuarios no deberían ver ninguna diferencia con respecto a un clúster normal. Algunos elementos se pueden reactivar opcionalmente usando extensiones.

La página de inicio del proyecto se puede consultar en la siguiente dirección: https://k3s.io/

Tenga en cuenta que, además de k3s, hay otro proyecto relativamente similar: el proyecto k3d. El propósito de este último es instalar Kubernetes utilizando contenedores Docker. La ventaja es que la máquina del usuario se ve menos afectada.

2. Instalación de k3s

Es posible iniciar la instalación de k3s usando las siguientes instrucciones:

$ curl -sfL https://get.k3s.io | sh - 

El script devuelve los siguientes mensajes:

[INFO]  Finding release for channel stable 
[INFO]  Using v1.22.5+k3s1 as release 
[INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/ 
download/v1.22.5+k3s1/sha256sum-amd64.txt 
[INFO]  Downloading binary https://github.com/k3s-io/k3s/releases/ 
download/v1.22.5+k3s1/k3s 
[INFO]  Verifying binary download 
[INFO]  Installing k3s to /usr/local/bin/k3s 
[INFO]  Skipping...