Heim >Backend-Entwicklung >Golang >Bereitstellungssystem Golang

Bereitstellungssystem Golang

WBOY
WBOYOriginal
2023-05-16 09:42:37431Durchsuche

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!

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
Vorheriger Artikel:Golang zu rostenNächster Artikel:Golang zu rosten