Docker と Kubernetes が Golang アプリケーションをデプロイする方法

PHPz
リリース: 2023-04-10 15:57:22
オリジナル
677 人が閲覧しました

Golang は、高速かつ効率的で同時実行可能なプログラミング言語であり、開発者の間でますます好まれています。現在、コンテナ化テクノロジーの台頭により、Golang アプリケーションをコンテナにデプロイする人が増えています。この記事では、Docker および Kubernetes コンテナ テクノロジを使用して Golang アプリケーションをデプロイする方法を紹介します。

1. Docker コンテナのデプロイメント

Docker は、アプリケーションの開発、デプロイ、実行をより簡単かつ迅速に行うことができるオープン ソースのコンテナ化プラットフォームです。 Docker では、独立して実行できるコンテナーを構築できます。このコンテナーには、必要な環境、ライブラリ、依存関係、コードが含まれています。 Docker コンテナを使用して Golang アプリケーションをデプロイする方法の手順は次のとおりです。

  1. Dockerfile を作成します

FROM golang:alpine

RUN mkdir /app

ADD . /app/

WORKDIR /app

RUN go build -o main .

CMD ["/app/main"]

  1. Build Docker image

$ docker build -t your-image-name .

  1. ビルドされた Docker イメージを実行します

$ docker run -p 8080:8080 your-image-name

これで、http://localhost:8080 にアクセスして Golang アプリケーションにアクセスできるようになります。

2. Kubernetes コンテナのデプロイメント

Kubernetes は、コンテナ化されたアプリケーションのデプロイメント、拡張、管理の自動化に役立つオープンソースのコンテナ オーケストレーション エンジンです。 Kubernetes コンテナ テクノロジを使用して Golang アプリケーションをデプロイする方法の手順は次のとおりです。

  1. デプロイメント ファイルを作成する

apiVersion: apps/v1
kind: Deployment
metadata:
name: your-deployment-name
spec:
レプリカ: 3
selector:

matchLabels:
  app: your-app-name
ログイン後にコピー

template:

metadata:
  labels:
    app: your-app-name
spec:
  containers:
  - name: your-container-name
    image: your-image-name
    ports:
    - containerPort: 8080
ログイン後にコピー
  1. Create 1 つのサービス

apiVersion: v1
kind: Service
metadata:
name: your-service-name
spec:
selector:

app: your-app-name
ログイン後にコピー

ports:

  • name: your-service-port
    port: 8080
    targetPort: 8080
    type: LoadBalancer
  1. デプロイメント アプリケーション

$ kubectl apply -f your-deployment-file.yaml
$ kubectl apply -f your-service-file.yaml

これで、Golang アプリケーションはプログラムは、Kubernetes コンテナー テクノロジーを使用して正常にデプロイされました。アプリケーションには、ロード バランサーの IP アドレスにアクセスすることでアクセスできます。

概要

上記は、Docker および Kubernetes コンテナ テクノロジを使用して Golang アプリケーションをデプロイするための簡単な手順です。コンテナー テクノロジーを使用すると、アプリケーションの移植性とスケーラビリティが向上するだけでなく、アプリケーションのパフォーマンスとセキュリティも向上するため、開発者は徹底的に調査して実践する価値があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート