Heim >Backend-Entwicklung >Golang >Bereitstellungssystem Golang
Mit der Entwicklung der Internettechnologie und den steigenden Anwendungsanforderungen werden moderne Anwendungen immer komplexer und müssen auf viele Komponenten und Dienste angewiesen sein. Um die Verwaltung und Wartung zu erleichtern, müssen Anwendungen häufig in Images gepackt und in der Cloud oder auf privaten Servern bereitgestellt werden. Als effiziente und zuverlässige Programmiersprache erfreut sich die Golang-Sprache bei Entwicklern immer größerer Beliebtheit. In diesem Artikel erfahren Sie, wie Sie mit Golang schnell und einfach ein System bereitstellen.
1. Richten Sie eine Entwicklungsumgebung ein
Zuerst müssen Sie eine Golang-Entwicklungsumgebung einrichten. Laden Sie Golang auf der offiziellen Website herunter und installieren Sie es (https://golang.org/dl/). Geben Sie nach erfolgreicher Installation „go version“ in die Befehlszeile ein, um zu überprüfen, ob die Installation erfolgreich ist.
2. Schreiben Sie eine Anwendung
Als nächstes müssen Sie eine einfache Anwendung schreiben. Die Routine lautet wie folgt:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") }) http.ListenAndServe(":8080", nil) }
Dieses Programm verwendet das Net/http-Modul in der Golang-Standardbibliothek, um einen einfachen HTTP-Dienst zu erstellen, der darauf hört 8080-Port und gibt „Hello, World!“ zurück, wenn in einem Browser darauf zugegriffen wird.
3. Verwenden Sie Docker zum Paketieren von Bildern.
Es ist sehr einfach, Docker zum Paketieren von Golang-basierten Anwendungen zu verwenden. Erstellen Sie zunächst eine Dockerfile-Datei in dem Verzeichnis, in dem sich die Anwendung befindet. Bearbeiten Sie den Inhalt wie folgt:
FROM golang:1.16-alpine LABEL maintainer="Your Name <yourname@email.com>" WORKDIR /app COPY . . RUN go build -o main . EXPOSE 8080 CMD ["./main"]
Führen Sie als Nächstes den folgenden Befehl in der Befehlszeile aus, um das Image zu erstellen:
docker build -t my-golang-app .
Der obige Befehl erstellt eine Datei mit dem Namen „mein“ im aktuellen Verzeichnis -golang-app“-Bild und enthält eine kompilierte Golang-Anwendung. Abschließend kann das Image mit dem folgenden Befehl ausgeführt werden:
docker run -p 8080:8080 my-golang-app
Dieser Befehl ordnet den 8080-Port des Containers dem 8080-Port des Hosts zu und startet einen Container mit dem Namen „my-golang-app“. An dieser Stelle können Sie im Browser auf „http://localhost:8080“ zugreifen und „Hello, World!“ sehen.
4. Anwendungen mit Kubernetes bereitstellen
Um eine hohe Verfügbarkeit und Flexibilität von Anwendungen zu erreichen, können diese in einem Kubernetes-Cluster bereitgestellt werden. Zuerst müssen Sie ein Deployment erstellen:
apiVersion: apps/v1 kind: Deployment metadata: name: my-golang-app spec: replicas: 2 selector: matchLabels: app: my-golang-app template: metadata: labels: app: my-golang-app spec: containers: - name: my-golang-app image: my-golang-app ports: - containerPort: 8080
Die obige Konfigurationsdatei kann ein Deployment mit dem Namen „my-golang-app“ definieren, das zwei Pods enthält. Jeder Pod ist demselben Golang-Anwendungsimage zugeordnet und stellt den 8080 des bereit Containerhafen.
Als nächstes verwenden Sie den folgenden Befehl, um das Deployment bereitzustellen:
kubectl apply -f deployment.yaml
Nach erfolgreicher Bereitstellung können Sie den Status des Deployments mit dem folgenden Befehl abrufen:
kubectl get deployment my-golang-app
Abschließend können Sie mit dem folgenden Befehl einen Dienst erstellen Wird verwendet, um Golang-Anwendungsdienste außerhalb des Clusters verfügbar zu machen:
apiVersion: v1 kind: Service metadata: name: my-golang-app spec: selector: app: my-golang-app ports: - name: http port: 8080 targetPort: 8080 type: LoadBalancer
Diese Konfigurationsdatei definiert einen Dienst mit dem Namen „my-golang-app“, der den Dienst weiterleitet, der im Pod ausgeführt wird, der als „my-golang-app“-Anwendung gekennzeichnet ist und fügt hinzu, dass der Port 8080 des Containers dem Port 80 des Kubernetes-Clusters zugeordnet wird.
Als nächstes verwenden Sie den folgenden Befehl, um den Dienst bereitzustellen:
kubectl apply -f service.yaml
Nachdem die oben genannten Schritte abgeschlossen sind, können Sie die Golang-Anwendung im Kubernetes-Cluster bereitstellen.
Zusammenfassung
In diesem Artikel wird kurz vorgestellt, wie Sie mit Golang das System schnell und einfach bereitstellen können. Erstens: Richten Sie die Golang-Entwicklungsumgebung ein und schreiben Sie zweitens: Verwenden Sie Docker, um das Anwendungs-Image zu packen, und verwenden Sie Kubernetes für die Bereitstellung das Image; Erstellen Sie abschließend einen Dienst für den Dienst, um den Dienst außerhalb des Clusters verfügbar zu machen. Entwickler können die in diesem Artikel vorgestellten Methoden flexibel auf der Grundlage tatsächlicher Geschäftsanforderungen anwenden, um die Wartbarkeit, Skalierbarkeit und Zuverlässigkeit von Anwendungen weiter zu verbessern.
Das obige ist der detaillierte Inhalt vonBereitstellungssystem Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!