クラウド コンピューティングとコンテナ化テクノロジーの発展に伴い、アプリケーションの管理と展開に Kubernetes を使用する企業が増えています。高性能の開発言語として、Golang は開発者の間でますます好まれています。この記事では、Golang の Web フレームワークである Echo Framework と Kubernetes を使用してアプリケーションを構築する方法を紹介します。
まず、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 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 .
デプロイする前に、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 サイトの他の関連記事を参照してください。