Bina aplikasi menggunakan rangka kerja web Golang rangka kerja Echo dan Kubernetes

WBOY
Lepaskan: 2023-06-24 09:51:59
asal
774 orang telah melayarinya

Dengan perkembangan teknologi pengkomputeran awan dan kontena, semakin banyak perusahaan mula menggunakan Kubernetes untuk mengurus dan menggunakan aplikasi. Sebagai bahasa pembangunan berprestasi tinggi, Golang semakin digemari oleh pembangun. Artikel ini akan memperkenalkan cara menggunakan rangka kerja web Golang Echo framework dan Kubernetes untuk membina aplikasi.

Pasang rangka kerja Go dan Echo

Pertama, kita perlu memasang persekitaran pembangunan Golang dan rangka kerja Echo secara tempatan. Pemasangan rangka kerja Golang dan Echo boleh dikendalikan mengikut dokumen rasmi, dan tidak akan diterangkan secara terperinci di sini.

Menulis Aplikasi

Buat projek Golang baharu dalam persekitaran pembangunan tempatan anda. Kami akan mencipta aplikasi web mudah yang melaluinya pengguna boleh menanyakan masa semasa. Cipta folder baharu dan buat fail bernama main.go, salin kod berikut ke dalam fail:

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"))
}
Salin selepas log masuk

Dalam kod di atas, kami telah menggunakan rangka kerja Echo untuk mencipta pelayan HTTP, Masa semasa dikembalikan apabila pengguna mengakses laluan akar.

Aplikasi Dockerized

Untuk memudahkan proses penempatan, kami menyimpan aplikasi dan memuat naiknya ke Docker Hub. Cipta fail bernama Dockerfile dan salin kod berikut ke dalam fail:

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"]
Salin selepas log masuk

Dalam kod di atas, kami menggunakan imej 1.13-alpine yang disediakan secara rasmi oleh Golang sebagai imej asas, pasang kebergantungan kompilasi dan Salin sumber kod ke dalam bekas. Kemudian jalankan arahan go build untuk menyusun fail boleh laku dan akhirnya mulakan pelayan web.

Jalankan arahan berikut dalam direktori akar projek untuk membina imej Docker:

docker build -t yourdockerhubusername/echo-app .
Salin selepas log masuk

Kerahkan ke Kubernetes

Sebelum digunakan, kami perlu memasang alat Kubectl secara setempat dan perlu untuk mempunyai kluster Kubernetes yang Tersedia. Untuk langkah terperinci tentang memasang dan mengkonfigurasi alat Kubectl, sila rujuk dokumentasi rasmi Kubernetes.

Buat fail yang dipanggil echo-deployment.yaml dan salin kod berikut ke dalam fail:

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
Salin selepas log masuk

Dalam kod di atas, kami telah mencipta fail yang dipanggil Echo-app Deployment, sambil menggunakan imej kontena yourdockerhubusername/echo-app untuk menjalankan aplikasi. Bilangan salinan contoh Deployment ini ialah 2, dan setiap salinan memulakan pelayan web dan mendengar port 8080.

Seterusnya, kami perlu mencipta Perkhidmatan untuk mendedahkan contoh Penerapan apl gema. Cipta fail bernama echo-service.yaml dan salin kod berikut ke dalam fail:

apiVersion: v1
kind: Service
metadata:
  name: echo-service
spec:
  ports:
  - name: http
    port: 80
    targetPort: 8080
  selector:
    app: echo
Salin selepas log masuk

Dalam kod di atas, kami mencipta Perkhidmatan bernama echo-service, dengar pada port 80 dan Majukan permintaan ke port 8080 daripada contoh Penerapan apl gema.

Jalankan arahan berikut dalam direktori akar projek untuk menggunakan aplikasi:

kubectl apply -f echo-deployment.yaml
kubectl apply -f echo-service.yaml
Salin selepas log masuk

Selepas arahan di atas selesai, anda boleh melihat alamat IP Perkhidmatan melalui arahan berikut:

kubectl get svc echo-service
Salin selepas log masuk

Sambung Seterusnya, lawati http://

Pada ketika ini, kami telah berjaya membina aplikasi web mudah menggunakan rangka kerja Echo Golang dan Kubernetes. Kaedah ini mudah dan cekap, serta boleh meningkatkan kecekapan pembangunan dan penggunaan.

Atas ialah kandungan terperinci Bina aplikasi menggunakan rangka kerja web Golang rangka kerja Echo dan Kubernetes. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan