さまざまなシナリオで Golang アプリケーションをデプロイする方法

PHPz
リリース: 2023-04-27 09:40:48
オリジナル
476 人が閲覧しました

近年のソフトウェア開発と展開の過程で、Golang はますます人気のあるプログラミング言語になりました。この言語には、効率性、信頼性、セキュリティなどの多くの機能があります。したがって、ますます多くの開発者が Golang 言語を使用してアプリケーションを作成し始めています。ただし、実際に Golang アプリケーションをデプロイする場合には、まだいくつかの困難とテクニックが存在します。この記事では、Golang のデプロイメントの問題に焦点を当て、さまざまなシナリオで Golang アプリケーションをデプロイする方法を詳しく説明します。

1. 基本的な展開
新しいサーバーの場合は、まず Golang 環境をインストールする必要があります。 Linux システムでは、パッケージ マネージャーを使用してインストールを迅速に完了できます。 Ubuntu システムでは、次のコマンドを使用して Go をインストールできます。

sudo apt-get update
sudo apt-get install golang

上記のコマンドを使用して、最新のバージョン Go がシステムにインストールされています。もちろん、Go インストール パッケージを手動でダウンロードしてインストールすることもできます。次に、アプリケーションを開発するための Web フレームワークを選択する必要があります。たとえば、Gin フレームワークを使用して、Web アプリケーションを迅速に開発できます。では、Gin フレームワークをインストールするにはどうすればよいでしょうか?ターミナルで次のコマンドを使用するだけです:

go get -u github.com/gin-gonic/gin

このコマンドは、Gin フレームワークを自動的にダウンロードし、インストールします。 GOPATH パスの下。上記の手順により、アプリケーションの開発を開始できます。アプリケーションを実行可能ファイルにコンパイルし、サーバーにコピーします。最も基本的な Golang のデプロイメントを正常に実装できました。

2. Docker を使用したデプロイメント
実際にアプリケーションをデプロイする場合、さまざまなシステム環境で問題が発生することがよくあります。これらの問題により、アプリケーションが適切に機能しなくなる可能性があります。この状況を回避するには、デプロイメントに Docker コンテナー テクノロジーを使用できます。 Docker は、アプリケーションを迅速に構築、公開、実行するのに役立つオープンソースのコンテナ仮想化プラットフォームです。以下は、Docker を使用して Golang アプリケーションをデプロイする手順です。

1. Docker イメージの作成
まず、システムに Docker サービスをインストールする必要があります。次に、Dockerfile を通じて Docker イメージを作成できます。 Dockerfile は、Docker イメージを構築するための一連の手順が含まれるテキスト ファイルです。これは簡単な Dockerfile の例です:

FROM golang
WORKDIR /app
COPY . .
RUN go build -o main .
CMD ["/app/main"]

このファイルは、公式 Golang イメージをベース イメージとして使用し、現在のディレクトリ内のすべてのファイルを /app ディレクトリにコピーすることを Docker に指示します。次に go build コマンドを実行してアプリケーションをコンパイルし、main という名前を付けます。最後に、CMD コマンドを使用してアプリケーションを起動します。

2. Docker イメージのビルド
Dockerfile を作成した後、次のコマンドを使用して Docker イメージを構築できます:

docker build -t my-golang-app .

このコマンドは、my-golang-app という名前の Docker イメージを構築し、それを Docker ウェアハウスにプッシュするのに役立ちます。

3. Docker コンテナのデプロイ
Docker イメージの作成に成功したら、次のコマンドでコンテナを起動できます:

docker run -d -p 8080:8080 my-golang - app

このコマンドは Docker コンテナを起動し、起動時のデフォルト イメージとして my-golang-app イメージを使用します。コンテナはバックグラウンドで実行され、ホスト マシンのポート 8080 にマップされます。これで、Golang アプリケーションが正常にデプロイされました。

3. Kubernetes を使用したデプロイメント
分散システムでは、アプリケーションを拡張しフォールトトレランスする必要があります。現時点では、Kubernetes を使用してアプリケーションをデプロイおよび管理できます。 Kubernetes は、アプリケーションの拡張とデプロイを簡単に行うのに役立つ多用途のコンテナ オーケストレーション プラットフォームです。 Kubernetes を使用して Golang アプリケーションをデプロイする手順は次のとおりです。

1. Kubernetes 構成ファイルを作成する
Kubernetes にアプリケーションのデプロイ方法を指示するために、Kubernetes 構成ファイルを作成する必要があります。たとえば、簡単な構成ファイルの例を次に示します。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-golang-app
spec:##レプリカ数: 3
テンプレート:

metadata:
  labels:
    app: my-golang-app
spec:
  containers:
  - name: my-golang-app
    image: my-golang-app
    ports:
    - containerPort: 8080
  imagePullSecrets:
  - name: my-golang-app-secret
ログイン後にコピー

apiVersion: v1

kind: Service
metadata:
name: my-golang-app
spec:
selector:

app: my-golang-app
ログイン後にコピー
ports:

    port: 80
  • targetPort: 8080
    type: ClusterIP
このファイルには 2 つの Kubernetes が含まれていますオブジェクト: デプロイメントとサービス。 Deployment オブジェクトは、デプロイするイメージ、コンテナーの数、およびその他の関連パラメーターを定義します。サービス オブジェクトはアプリケーションを外部に公開し、Kubernetes クラスターに接続します。

2. Kubernetes リソースの作成

構成ファイルを作成した後、次のコマンドを使用して Kubernetes リソースを作成する必要があります:

kubectl apply -f k8s.yaml

このコマンドは、Deployment オブジェクトと Service オブジェクトを自動的に作成し、それらを Kubernetes クラスターにデプロイします。

3. Kubernetes オブジェクトの追加

コンテナの数を増やすか削除する必要がある場合は、次のコマンドを使用して Kubernetes オブジェクトを管理できます:

kubectl スケール デプロイメント my-golang-app --replicas=5

このコマンドは、my-golang-app アプリケーションのコンテナーの数を 5 に増やす必要があることを Kubernetes に伝えます。

要約すると、この記事では、Golang の基本的なデプロイ方法、Docker を使用したデプロイ手法、および Kubernetes の高度なデプロイ方法を紹介します。どちらの方法を使用する場合でも、実際の状況に基づいて最適な導入方法を選択する必要があります。この記事が、Golang アプリケーションをデプロイする際の大多数の Golang 開発者に何らかの助けとガイダンスを提供できれば幸いです。

以上がさまざまなシナリオで Golang アプリケーションをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!