Installieren und Konfigurieren von Skaffold auf Debian 12 Linux
11:04, 03.06.2024
Skaffold ist ein recht beliebtes Tool, das für die kontinuierliche Entwicklung benötigt wird. Mit diesem containerbasierten Tool ist es möglich, die Bereitstellung, Entwicklung und das Pushen der App zu verwalten und auch Teile für CD/CI-Pipelines zu erstellen. Scaffold kann Ihre App in einem Kubernetes-Cluster, einem Cloud-Projekt oder einer Docker-Umgebung bereitstellen.
Der Arbeitsablauf ist dank der Scaffold-Verwaltung, die auf den Kubernetes-Clustern funktioniert, leicht zu automatisieren. Im Allgemeinen können die Entwickler ihren Arbeitsprozess durch die Verwendung von Skaffold erheblich vereinfachen. Dieses Tool funktioniert im Hintergrund, während die Entwickler programmieren, und das Programm aktualisiert alles automatisch ohne zusätzliche Anweisungen.
Erkunden Sie Skaffolds Fähigkeiten
Skaffold ist sehr hilfreich bei der Vereinfachung einer Vielzahl von Prozessen, und einige davon sind:
- Erstellung von Docker-Images und Kennzeichnung von Kubernetes-Manifest-Images.
- Debugging der App.
- Schneller Wechsel des Kubernetes-Clusters nach Änderungen im Quellcode.
- Toolset für kontinuierliche Bereitstellung und Integration.
Hier sind einige Funktionen von Skaffold, mit denen dieses Tool entwickelt wurde:
- CD/CI-Bausteine (löschen/prüfen/erstellen/anwenden und andere Optionen).
- Pipeline-Optionen (testen/verteilen/erstellen/löschen/anwenden/rendern).
- Pipeline wird verwaltet, um automatisch zu erstellen, zu starten, die App zu pushen und Änderungen im Quellcode zu erkennen.
- Der Wert der zusätzlichen Komponenten, wie Deploy/Build, lokale Konfiguration und Umgebungsvariablen, ist ebenfalls entscheidend.
- Dieses Tool gilt als eine wirklich leichtgewichtige Variante, die in externen CI/CD-Komponenten und Dev eingesetzt werden kann.
- Skaffold verfügt über eine Methode zur Protokollierung und Port-Weiterleitung.
Erforderliche Voraussetzungen für die Installation des Gerüsts
Vor der Installation sollten Sie sich darüber im Klaren sein, dass Sie über die folgenden Werkzeuge verfügen sollten:
- Kubectl
- Docker
- Skaffold
- Minikube
In diesem Artikel werden wir unsere praktischen Erfahrungen teilen und Ihnen die Installation und Konfiguration von Skaffold auf einem Linux-System zeigen (in diesem Fall werden wir Debian verwenden).
Skaffold installieren
Der Installationsprozess von Skaffold ist wirklich einfach und alles, was Sie tun müssen, ist, das Terminal zu öffnen und die folgende Zeile einzugeben:
curl -Lo skaffold https://storage.googleapis.com/skaffold/builds/latest/skaffold-linux-arm64 && \
sudo install skaffold /usr/local/bin/
Wenn Sie diesen ersten Schritt abgeschlossen haben, lassen Sie uns mit dem folgenden fortfahren, der für die volle Funktionalität ebenso wichtig ist.
Anweisungen zur Docker-Installation
Befolgen Sie die folgende Schritt-für-Schritt-Anleitung für die ordnungsgemäße Installation von Docker auf einem Linux-System:
Aktualisieren Sie die Pakete, indem Sie den folgenden Befehl in das Terminal eingeben.
sudo apt update
- Installation der benötigten Pakete.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
- Docker-Repository hinzufügen.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Aktualisieren Sie die Pakete.
sudo apt update
- Installation von Docker.
sudo apt install docker-ce docker-ce-cli containerd.io
- Docker starten.
sudo systemctl start docker
sudo systemctl enable docker
Installation von Minikube und kubectl
Kubectl ist wichtig für die Verwaltung von Kubernetes-Clustern. Für die Installation der neuesten Version verwenden Sie den folgenden Befehl:
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
Um minikube zu installieren, gehen Sie wie folgt vor:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O minikube
Kubernetes-Cluster mit minikube einrichten
Um einen Kubernetes-Cluster einzurichten, verwenden Sie den folgenden Befehl:
minikube start --profile custom
skaffold config set --global local-cluster true
eval $(minikube -p custom docker-env)
Die Ausgabe des oben genannten Befehls enthält Informationen über Debian- und minikube-Versionen sowie einige Tipps und Beschreibungen der aktuellen Prozesse.
Bereitstellung der Anwendung auf Kubernetes
Um das Verständnis dieses Prozesses zu vereinfachen, verwenden wir die Petclinic Spring Boot-Anwendung als Beispiel. Zum Testen und Bereitstellen der App auf Kubernetes kopieren Sie die App von:
git clone https://github.com/spring-projects/spring-petclinic.git
Der folgende Schritt ist erforderlich, um das Verzeichnis zu ändern:
cd spring-petclinic
Erstellen Sie eine Docker-Datei, die den Quellcode und das Container-Image enthält. Erstellen Sie im Stammverzeichnis einer App eine solche Datei und fügen Sie den folgenden Inhalt hinzu.
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
Verwenden Sie dann die folgende Zeile:
docker build -t spring-petclinic-builder
Testen Sie, ob der Container mit erstellt wurde:
docker run -p 8080:8080 spring-petclinic-builder
Um zu überprüfen, ob das Programm funktioniert, können Sie den Browser öffnen und die Webseite aufrufen.
Wenn Sie die App überprüft und getestet haben, fahren wir mit dem nächsten Prozess fort, der sich auf die Ausführung der App in Kubernetes bezieht. Verwenden Sie dazu Befehle wie:
skaffold init --generate-manifests
Für den Zugriff auf die App in Kubernetes sollte man den Tunnel mit öffnen:
$ minikube tunnel -p custom
Mit der Verwendung von run können Sie die App in Kubernetes starten/erstellen.
skaffold run -tail
Für die automatische Bereitstellung und Überwachung der Änderungen im Quellcode, verwenden Sie die nächste Zeile:
skaffold dev
Zusammenfassung
Diese Anleitung ist wichtig für alle Benutzer, die professionelle Informationen über die Installation, Konfiguration und weitere Nutzung von Skaffold auf dem Linux-System benötigen. Der Prozess der Verwendung dieses Tools ist so einfach, dass Sie nur die Anleitung befolgen müssen. Wenn Sie zusätzliche Empfehlungen über die Verwendung von Skaffold erhalten möchten, können Sie die Dokumente auf der offiziellen Website finden. Zögern Sie nicht und testen Sie dieses fantastische Tool gleich jetzt, Sie können viele Prozesse in Ihrer Programmierpraxis automatisieren!