近年、Kubernetes はコンテナ オーケストレーション プラットフォームの事実上の標準となっており、Google Kubernetes Engine (GKE) は Google Cloud Platform 上で提供されるフルマネージド Kubernetes エンジンです。自動化されたコンテナ オーケストレーション、スケーラビリティ、高可用性を提供するだけでなく、迅速な起動と調整が可能になり、コードのデプロイが容易になります。この記事では Go 言語で GKE を使用する方法を紹介します。この記事が GKE の完全な使用ガイドになれば幸いです。
ステップ 1: プロジェクトを作成して GKE API を有効にする
まず、Google Cloud Platform プロジェクトを作成する必要があります。 GKE に入る前に、GKE API を有効にする必要があります。 GKE API を有効にする方法はたくさんありますが、ここでは 2 つを紹介します:
1. Google Cloud Console の [API とサービス] > [API] ページで、[Kubernetes Engine API] をフィルタリングして有効にします。
2. Cloud Shell またはローカル ターミナルで、次のコマンドを入力します:
gcloud services enable container.googleapis.com
ステップ 2: Kubernetes クラスターを作成する
GKE API を有効にした後、次のことを行う必要があります。 Kubernetes クラスターを作成します。クラスターのサイズと仕様は、特定のニーズに応じて調整できます。以下は、サイズ n1-standard-1 の 3 つのノードを含む例です。
gcloud container clusters create example-cluster --zone=us-central1-a --num-nodes=3 --machine-type=n1-standard-1
上記のコマンドを実行するときは、「example-cluster」を作成する必要があるクラスターの名前に置き換える必要があります。さらに、クラスターを作成するリージョンを選択する必要もあります。ここでは us-central1-a を選択しました。 Kubernetes クラスタのノード数や仕様も実際の状況に応じて調整する必要があります。
ステップ 3: Kubernetes クライアント ツールをインストールする
Kubernetes クラスターを作成した後、クラスターを管理するために Kubernetes クライアント ツールをインストールして構成する必要があります。 Kubernetes クライアント ツールには通常、kubectl と Helm が含まれます。 kubectl は、Kubernetes クラスター、ポッド、コンテナーを管理し、作成、更新、削除、拡張などの操作を実行するために使用できる Kubernetes 用のコマンドライン ツールです。 Helm は、サードパーティ ライブラリのインストールと管理に使用できるパッケージ マネージャーです。
kubectl をインストールして構成する方法は次のとおりです:
1. ローカル ターミナルに kubectl をインストールします:
gcloud components install kubectl
2. 現在のクラスターで kubectl を構成します:
gcloud container clusters get-credentials example-cluster --zone=us-central1-a
3. 次に、kubectl コマンド ライン ツールを使用してクラスターを管理できます。たとえば、次のコマンドを実行して Kubernetes クラスター内のすべてのノードを取得します:
kubectl get nodes
インストールおよび構成の方法Helm は次のとおりです:
1 .Helm バイナリ ファイルをローカル ターミナルにダウンロードしてインストールします:
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get-helm-3 | bash
2. 現在の Kubernetes クラスターで Helm を構成します:
kubectl create serviceaccount --namespace kube-system tiller kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller helm init --service-account tiller --upgrade
ステップ 4: Go アプリケーションを GKE にデプロイする
最後に、Go アプリケーションを Kubernetes クラスタにデプロイできます。以下は、デプロイメント リソースとサービス リソースを使用して Go アプリケーションをデプロイする例です:
1. デプロイメント リソースとサービス リソースを含む YAML ファイルを作成します。例:
apiVersion: apps/v1 kind: Deployment metadata: name: go-app-deployment labels: app: go-app spec: replicas: 3 selector: matchLabels: app: go-app template: metadata: labels: app: go-app spec: containers: - name: go-app image: gcr.io/example-project/go-app:latest ports: - containerPort: 8080 protocol: TCP --- apiVersion: v1 kind: Service metadata: name: go-app-service labels: app: go-app spec: selector: app: go-app ports: - port: 80 targetPort: 8080 protocol: TCP type: LoadBalancer
Where, "go-app - 「deployment」は作成したデプロイメント リソースの名前、「go-app」は使用する名前空間、「go-app-service」は作成したサービス リソースの名前です。 「gcr.io/example-project/go-app:latest」など、デプロイメント リソースのコンテナ イメージを指定する必要があります。
2. kubectl コマンドを使用して、この YAML ファイルを Kubernetes クラスタに適用します:
kubectl apply -f go-app.yaml
3. 次のコマンドを実行して、GKE 上に作成された外部 IP アドレスを取得します:
kubectl get service go-app-service
返された結果の「EXTERNAL-IP」フィールドに IP アドレスが表示されます。これは、デプロイした Go アプリケーションのアドレスです。
概要
この記事では、Go 言語で GKE を使用するための完全なガイドを提供します。 GKE は、データ自動化、高可用性、スケーラビリティ、使いやすいインターフェースのためのコンテナ オーケストレーションを提供するフルマネージド Kubernetes エンジンです。この記事で説明した方法を使用すると、Go アプリケーションを GKE に簡単にデプロイし、自動デプロイ プロセスを追加してアプリケーションのデプロイをより便利にすることができます。
以上がGo での Google Kubernetes Engine (GKE) の使用: 完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。