Instalación y configuración de Skaffold en Debian 12 Linux

watch 4m, 57s
views 2

19:35, 03.06.2024

Contenido del artículo
arrow

  • Explore las capacidades de Skaffold
  • Condiciones necesarias para la instalación del Skaffold
  • Instalación Skaffold
  • Instrucciones para la instalación de Docker
  • Instalación de Minikube y kubectl
  • Establecer un clúster Kubernetes con minikube
  • Despliegue de aplicaciones en Kubernetes
  • Resumen

Skaffold es una herramienta bastante popular que se necesita para el desarrollo continuo. Con esta herramienta basada en contenedores, es posible gestionar el despliegue, el desarrollo y el empuje de la aplicación, así como crear piezas para las canalizaciones de CD/CI. Scaffold puede entregar su aplicación a un clúster Kubernetes, un proyecto en la nube o un entorno Docker.

El flujo de trabajo se automatiza fácilmente gracias a la gestión de Scaffold que funciona en los clústeres de Kubernetes. En general, los desarrolladores pueden simplificar enormemente su proceso de trabajo con el uso de Skaffold. Esta herramienta funciona en segundo plano mientras los desarrolladores están codificando y el programa actualiza todo automáticamente sin instrucciones adicionales. 

Explore las capacidades de Skaffold

Skaffold es realmente útil para simplificar diversos procesos, y algunos de ellos son:

  • Creación de imágenes Docker y etiquetado de imágenes de manifiesto Kubernetes.
  • Depuración de la aplicación.
  • Cambio rápido del clúster Kubernetes tras las modificaciones en el código fuente.
  • Conjunto de herramientas para la entrega e integración continuas.

He aquí un par de características de Skaffold con las que se diseñó esta herramienta:

  • Bloques de construcción CD/CI ( delete/test/build/apply, y otras opciones).
  • Opciones de canalización (test/ deploy/build/delete/apply/render).
  • Pipeline se gestiona para crear automáticamente, lanzar, empujar aplicación, y reconocer los cambios en el código fuente.
  • El valor de los componentes adicionales, como deploy/build, configuración local y variables de entorno, también son cruciales.
  • Esta herramienta se considera una variante realmente ligera que puede aplicarse en componentes externos de CI/CD y Dev.
  • Skaffold dispone de un método para el registro y el reenvío de puertos.

Condiciones necesarias para la instalación del Skaffold

Antes del proceso de instalación, debe saber que debe disponer de las siguientes herramientas:

  • Kubectl
  • Docker
  • Skaffold
  • Minikube

En este artículo, compartiremos nuestra experiencia práctica y le mostraremos la instalación y configuración de Skaffold en un sistema Linux (en este caso, utilizaremos Debian).

Instalación Skaffold

El proceso de instalación de Skaffold es realmente sencillo y todo lo que necesita hacer es abrir el terminal y rellenar la siguiente línea:

curl -Lo skaffold https://storage.googleapis.com/skaffold/builds/latest/skaffold-linux-arm64 && \
sudo install skaffold /usr/local/bin/

Cuando haya terminado este paso inicial, procedamos al siguiente que es igualmente importante para la funcionalidad completa.

Instrucciones para la instalación de Docker

Siga el siguiente procedimiento paso a paso para la correcta instalación de Docker en un sistema Linux:

- Actualice los paquetes introduciendo el siguiente comando en el terminal.

sudo apt update

- Instalación de los paquetes necesarios.

sudo apt install apt-transport-https ca-certificates curl software-properties-common

- Añada el repositorio Docker.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

- Actualice los paquetes.

sudo apt update

- Instalación del Docker.

sudo apt install docker-ce docker-ce-cli containerd.io

- Inicie Docker.

sudo systemctl start docker
sudo systemctl enable docker

Instalación de Minikube y kubectl

Kubectl es importante para la gestión de clusters Kubernetes. Para la instalación de la última versión utilice el siguiente comando:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" 
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Para instalar minikube utilice lo siguiente:

wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O minikube

Establecer un clúster Kubernetes con minikube

Para iniciar el establecimiento del clúster Kubernetes utilice el siguiente comando:

minikube start --profile custom
skaffold config set --global local-cluster true
eval $(minikube -p custom docker-env)

La salida del comando mencionado contendrá la información sobre las versiones de Debian y minikube y algunos consejos y descripciones de los procesos actuales.

Despliegue de aplicaciones en Kubernetes

Para simplificar la comprensión de este proceso, vamos a utilizar la app Petclinic Spring Boot como ejemplo. Para probar y desplegar la app en Kubernetes copia la app desde:

git clone https://github.com/spring-projects/spring-petclinic.git 

El siguiente paso será necesario para cambiar el directorio:

cd spring-petclinic

Cree un archivo Docker que incluirá el código fuente y la imagen del contenedor. En el directorio raíz de una aplicación, cree dicho archivo y añada el siguiente contenido.

FROM maven:3.8.4-openjdk-17-slim AS build
WORKDIR /home/app
COPY src /home/app/src
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean package
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY --from=build /home/app/target/*.jar /usr/local/lib/petclinic.jar

A continuación, utilice la siguiente línea::

docker build -t spring-petclinic-builder

Pruebe si el contenedor fue creado con:

docker run -p 8080:8080 spring-petclinic-builder

Para revisar si el programa está funcionando, puede abrir el navegador y entrar en la página web.

Ahora cuando haya revisado y probado la aplicación, procederemos con el siguiente proceso que se refiere a la ejecución de la aplicación en Kubernetes. Utiliza comandos como:

skaffold init --generate-manifests

Para el acceso de la app en Kubernetes, se debe abrir el túnel con:

$ minikube tunnel -p custom

Con el uso de run, podrá launch/build la aplicación en Kubernetes.

skaffold run -tail

Para el despliegue automático y la monitorización de las modificaciones en el código fuente, utiliza la siguiente línea:

skaffold dev

Resumen

Esta guía es importante para todos los usuarios que necesitan información profesional sobre la instalación, configuración y posterior utilización de Skaffold en el sistema Linux. El proceso de uso de esta herramienta es tan simple, que todo lo que necesita hacer es seguir la guía. Si desea obtener recomendaciones adicionales sobre el uso de Skaffold, puede encontrar los documentos en el sitio web oficial. No lo dude y empiece a probar esta impresionante herramienta ahora mismo, ¡podrá automatizar un montón de procesos en su experiencia de codificación!

Compartir

¿Te ha resultado útil este artículo?

Ofertas populares de VPS

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
16 GB
Space
Space
150 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 16384 Linux

60.5 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 512 Linux

5.2 /mes

/mes

Facturado cada 12 meses

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

40 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 32768 Linux

96.8 /mes

/mes

Facturado cada 12 meses

-5.9%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 2048 Windows

14.8 /mes

/mes

Facturado cada 12 meses

-20.8%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
10 TB
wKVM-SSD 16384 Metered Windows

100 /mes

/mes

Facturado cada 12 meses

-7.1%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
Unlimited
wKVM-HDD 4096 Windows

21 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 2048 Linux

8.3 /mes

/mes

Facturado cada 12 meses

-15.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
60 Mbps
DDoS Protected SSD-wKVM 4096 Windows

73 /mes

/mes

Facturado cada 12 meses

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 32768
OS
CentOS
Software
Software
Keitaro
/mes

Facturado mensualmente

Otros artículos sobre este tema

How to configure a Linux VPS
How to configure a Linux VPS
cookie

¿Acepta las cookies y la política de privacidad?

Utilizamos cookies para asegurar que damos la mejor experiencia en nuestro sitio web. Si continúa sin cambiar la configuración, asumiremos que acepta recibir todas las cookies del sitio web HostZealot.