ホームページ  >  記事  >  バックエンド開発  >  Golang の Web フレームワーク Echo フレームワークと Kubernetes を使用してアプリケーションを構築する

Golang の Web フレームワーク Echo フレームワークと Kubernetes を使用してアプリケーションを構築する

WBOY
WBOYオリジナル
2023-06-24 09:51:59771ブラウズ

クラウド コンピューティングとコンテナ化テクノロジーの発展に伴い、アプリケーションの管理と展開に Kubernetes を使用する企業が増えています。高性能の開発言語として、Golang は開発者の間でますます好まれています。この記事では、Golang の Web フレームワークである Echo Framework と Kubernetes を使用してアプリケーションを構築する方法を紹介します。

Go と Echo フレームワークをインストールする

まず、Golang 開発環境と Echo フレームワークをローカルにインストールする必要があります。 Golang と Echo フレームワークのインストールは公式ドキュメントに従って操作できますので、ここでは詳しく説明しません。

アプリケーションの作成

ローカル開発環境で新しい Golang プロジェクトを作成します。ユーザーが現在時刻をクエリできる単純な Web アプリケーションを作成します。新しいフォルダーを作成し、main.go という名前のファイルを作成し、次のコードをファイルにコピーします。

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"))
}

上記のコードでは、Echo フレームワークを使用して HTTP サーバーを作成しました。現在時刻が返されます。ユーザーがルート パスにアクセスしたとき。

Docker 化されたアプリケーション

デプロイメント プロセスを簡素化するために、アプリケーションをコンテナ化し、Docker Hub にアップロードします。 Dockerfile という名前のファイルを作成し、次のコードをファイルにコピーします。

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"]

上記のコードでは、Golang によって公式に提供されている 1.13-alpine イメージをベース イメージとして使用し、コンパイルの依存関係をインストールして、ソースをコピーします。コードをコンテナに挿入します。次に、 go build コマンドを実行して実行可能ファイルをコンパイルし、最後に Web サーバーを起動します。

プロジェクトのルート ディレクトリで次のコマンドを実行して、Docker イメージを構築します:

docker build -t yourdockerhubusername/echo-app .

Kubernetes にデプロイ

デプロイする前に、Kubectl ツールをローカルにインストールする必要があります。利用可能な Kubernetes クラスターがあること。 Kubectl ツールのインストールと構成の詳細な手順については、Kubernetes の公式ドキュメントを参照してください。

echo-deployment.yaml というファイルを作成し、次のコードをそのファイルにコピーします。

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

上記のコードでは、コンテナーを使用しながら、echo-app Deployment というファイルを作成します。 image yourdockerhubusername/echo-app を実行してアプリケーションを実行します。この Deployment インスタンスのコピーの数は 2 で、各コピーは Web サーバーを起動し、ポート 8080 をリッスンします。

次に、echo-app Deployment インスタンスを公開するサービスを作成する必要があります。 echo-service.yaml という名前のファイルを作成し、次のコードをファイルにコピーします。

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

上記のコードでは、echo-service という名前のサービスを作成し、ポート 80 でリッスンし、リクエストをポート 8080 に転送します。 echo-app デプロイメント インスタンスの。

プロジェクト ルート ディレクトリで次のコマンドを実行してアプリケーションをデプロイします:

kubectl apply -f echo-deployment.yaml
kubectl apply -f echo-service.yaml

上記のコマンドが完了すると、次のコマンドを使用してサービスの IP アドレスを表示できます:

kubectl get svc echo-service

Connect 次に、ブラウザで http://ab42b129300ad08ba97c21d61e4c7064 にアクセスすると、アプリケーションが正常に実行され、現在時刻が返されるはずです。

これまでのところ、Golang の Echo フレームワークと Kubernetes を使用して単純な Web アプリケーションを構築することに成功しました。この方法はシンプルかつ効率的であり、開発と展開の効率を大幅に向上させることができます。

以上がGolang の Web フレームワーク Echo フレームワークと Kubernetes を使用してアプリケーションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。