Mit der Entwicklung der Cloud-Computing- und Containerisierungstechnologie beginnen immer mehr Unternehmen, Kubernetes zum Verwalten und Bereitstellen von Anwendungen zu verwenden. Als leistungsstarke Entwicklungssprache wird Golang von Entwicklern zunehmend bevorzugt. In diesem Artikel wird erläutert, wie Sie Golangs Web-Framework Echo Framework und Kubernetes zum Erstellen von Anwendungen verwenden.
Zuerst müssen wir die Golang-Entwicklungsumgebung und das Echo-Framework lokal installieren. Die Installation des Golang- und Echo-Frameworks kann gemäß den offiziellen Dokumenten durchgeführt werden und wird hier nicht im Detail beschrieben.
Erstellen Sie ein neues Golang-Projekt in Ihrer lokalen Entwicklungsumgebung. Wir werden eine einfache Webanwendung erstellen, über die Benutzer die aktuelle Uhrzeit abfragen können. Erstellen Sie einen neuen Ordner und erstellen Sie eine Datei mit dem Namen main.go. Kopieren Sie den folgenden Code in die Datei:
package main import ( "net/http" "time" "github.com/labstack/echo" "github.com/labstack/echo/middleware" ) func main() { e := echo.New() // Middleware e.Use(middleware.Logger()) e.Use(middleware.Recover()) // Routes e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, time.Now().String()) }) // Start server e.Logger.Fatal(e.Start(":8080")) }
Im obigen Code haben wir das Echo-Framework verwendet, um einen HTTP-Server zu erstellen, der zum Root-Pfad zurückkehrt die aktuelle Uhrzeit.
Um den Bereitstellungsprozess zu vereinfachen, Containerisieren wir die Anwendung und laden sie auf Docker Hub hoch. Erstellen Sie eine Datei mit dem Namen Dockerfile und kopieren Sie den folgenden Code in die Datei:
FROM golang:1.13-alpine RUN apk --no-cache add gcc g++ make WORKDIR /app COPY . . RUN go build -o main . EXPOSE 8080 CMD ["./main"]
Im obigen Code haben wir das von Golang offiziell bereitgestellte 1.13-Alpine-Image als Basis-Image verwendet, die Kompilierungsabhängigkeiten installiert und den Quellcode in den Container kopiert . Führen Sie dann den Befehl go build aus, um die ausführbare Datei zu kompilieren und schließlich den Webserver zu starten.
Führen Sie den folgenden Befehl im Projektstammverzeichnis aus, um das Docker-Image zu erstellen:
docker build -t yourdockerhubusername/echo-app .
Vor der Bereitstellung müssen wir das Kubectl-Tool lokal installieren und es muss ein verfügbarer Kubernetes-Cluster vorhanden sein. Ausführliche Schritte zur Installation und Konfiguration des Kubectl-Tools finden Sie in der offiziellen Kubernetes-Dokumentation.
Erstellen Sie eine Datei mit dem Namen echo-deployment.yaml und kopieren Sie den folgenden Code in die Datei:
apiVersion: apps/v1 kind: Deployment metadata: name: echo-app labels: app: echo spec: replicas: 2 selector: matchLabels: app: echo template: metadata: labels: app: echo spec: containers: - name: echo-app image: yourdockerhubusername/echo-app ports: - containerPort: 8080
Im obigen Code erstellen wir eine Bereitstellung mit dem Namen echo-app und verwenden das Container-Image yourdockerhubusername /echo-app, um die Anwendung auszuführen . Die Anzahl der Kopien dieser Bereitstellungsinstanz beträgt 2, und jede Kopie startet einen Webserver und überwacht Port 8080.
Als nächstes müssen wir einen Dienst erstellen, um die Echo-App-Bereitstellungsinstanz verfügbar zu machen. Erstellen Sie eine Datei namens echo-service.yaml und kopieren Sie den folgenden Code in die Datei:
apiVersion: v1 kind: Service metadata: name: echo-service spec: ports: - name: http port: 80 targetPort: 8080 selector: app: echo
Im obigen Code haben wir einen Dienst namens echo-service erstellt, der Port 80 abhört und Anfragen an den 8080-Port des Echos weiterleitet -app Bereitstellungsinstanz.
Führen Sie den folgenden Befehl im Stammverzeichnis des Projekts aus, um die Anwendung bereitzustellen:
kubectl apply -f echo-deployment.yaml kubectl apply -f echo-service.yaml
Nach Abschluss des obigen Befehls können Sie die IP-Adresse des Dienstes mit dem folgenden Befehl anzeigen:
kubectl get svc echo-service
Besuchen Sie als Nächstes http:// < im Browser ;Service_IP> sollte die Anwendung normal laufen und die aktuelle Uhrzeit zurückgeben.
Zu diesem Zeitpunkt haben wir erfolgreich eine einfache Webanwendung mit dem Echo-Framework von Golang und Kubernetes erstellt. Diese Methode ist einfach und effizient und kann die Entwicklungs- und Bereitstellungseffizienz erheblich verbessern.
Das obige ist der detaillierte Inhalt vonErstellen Sie Anwendungen mit Golangs Web-Framework Echo Framework und Kubernetes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!