Die grundlegenden Schritte zum Bereitstellen von Spring Boot-Anwendungen (in JAR-Dateien verpackt) auf Kubernetes (K8s) sind wie folgt:
1. Bereiten Sie das Jar-Paket der Spring Boot-Anwendung vor
Stellen Sie sicher, dass Ihre Spring Boot-Anwendung erfolgreich erstellt und ein ausführbares JAR-Paket generiert wurde.
2. Erstellen Sie ein Docker-Image
Erstellen Sie ein Docker-Image für Ihre Spring Boot-Anwendung.
-
Docker-Datei erstellen: Erstellen Sie eine Docker-Datei im Stammverzeichnis der Spring Boot-Anwendung. In diesem Dokument wird beschrieben, wie Sie ein Docker-Image Ihrer Spring Boot-Anwendung erstellen.
Beispiel einer Docker-Datei:
FROM openjdk:8-jdk-alpine ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
-
Docker-Image erstellen: Führen Sie den folgenden Befehl aus, um ein Docker-Image zu erstellen:
docker build -t my-springboot-app:latest .
-
Push zum Image-Repository: Pushen Sie das erstellte Image in das Docker-Image-Repository, z. B. Docker Hub oder ein privates Repository.
docker tag my-springboot-app:latest [YOUR_DOCKERHUB_NAME]/my-springboot-app:latest docker push [YOUR_DOCKERHUB_NAME]/my-springboot-app:latest
3. Stellen Sie die Spring Boot-Anwendung auf Kubernetes bereit
-
Bereitstellungskonfigurationsdatei erstellen: Erstellen Sie eine Kubernetes-Bereitstellungsdatei (YAML), um zu definieren, wie Ihre Spring Boot-Anwendung auf K8s ausgeführt wird.
Beispiel „deployment.yaml“:
apiVersion: apps/v1 kind: Deployment metadata: name: my-springboot-app spec: replicas: 1 selector: matchLabels: app: my-springboot-app template: metadata: labels: app: my-springboot-app spec: containers: - name: my-springboot-app image: [YOUR_DOCKERHUB_NAME]/my-springboot-app:latest ports: - containerPort: 8080
-
Erstellen Sie eine Dienstkonfigurationsdatei: Wenn Ihre Anwendung externe Dienste bereitstellen muss, erstellen Sie eine Dienstkonfigurationsdatei (YAML).
Beispiel service.yaml:
apiVersion: v1 kind: Service metadata: name: my-springboot-app-service spec: type: NodePort ports: - port: 8080 nodePort: 30007 selector: app: my-springboot-app
-
Im Kubernetes-Cluster bereitstellen:
kubectl apply -f deployment.yaml kubectl apply -f service.yaml
-
Bereitstellung überprüfen: Überprüfen Sie den Bereitstellungsstatus und ob der Dienst ordnungsgemäß ausgeführt wird.
kubectl get deployments kubectl get pods kubectl get service
4. Greifen Sie auf die Spring Boot-Anwendung zu
Wenn alles richtig eingerichtet ist, sollte Ihre Spring Boot-Anwendung jetzt im Kubernetes-Cluster laufen. Sie können über den konfigurierten NodePort (z. B. 30007) auf Ihre Anwendung zugreifen.
Bitte stellen Sie sicher, dass Sie die Parameter in der obigen Docker- und Kubernetes-Konfigurationsdatei entsprechend der tatsächlichen Situation anpassen, z. B. Bildname, Bezeichnung, Port usw. Diese Schritte stellen einen grundlegenden Leitfaden dar, müssen jedoch möglicherweise je nach Situation verfeinert werden.