Heim  >  Artikel  >  Backend-Entwicklung  >  Erstellen Sie Anwendungen mit Golangs Web-Framework Echo Framework und Kubernetes

Erstellen Sie Anwendungen mit Golangs Web-Framework Echo Framework und Kubernetes

WBOY
WBOYOriginal
2023-06-24 09:51:59764Durchsuche

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.

Go- und Echo-Framework installieren

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.

Eine Anwendung schreiben

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.

Dockerisierte Anwendungen

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 .

Auf Kubernetes bereitstellen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn