GKE クラスタを作成して gcloud から kubectl で Pod・Deployment・Job を操作する手順

2026年6月6日

はじめに

「Kubernetes を試してみたいが、ローカル環境のセットアップが面倒」——そう感じている方には、GCP の Google Kubernetes Engine(GKE) と gcloud SDK 環境の組み合わせが手軽です。本記事では、GCP コンソールで Kubernetes クラスタを作成し、gcloud 環境から kubectl を使って Pod・Deployment・Job の基本操作を試す手順を解説します。

Kubernetes の基礎コマンドをハンズオン形式で確認したいエンジニアの参考になる内容です。なお、クラスタ作成中は VM インスタンスが課金対象となるため、作業が終わったら必ずクラスタを削除してください。

前提環境

カテゴリツール・技術役割
実行環境gcloud SDK コンテナ(または Cloud Shell)kubectl コマンドの実行環境
GCP サービスGoogle Kubernetes Engine(GKE)Kubernetes クラスタをマネージドで提供
オーケストレーションkubectlPod・Deployment・Job の操作コマンド

GKE クラスタを作成して kubectl を接続する

1. GKE クラスタを作成する

課題:kubectl が操作できる Kubernetes クラスタ(Docker コンテナを動作させる複数の VM インスタンス群)を用意する必要がある。
解決策:GCP コンソールの「Kubernetes Engine」から GUI でクラスタを作成する。

GCP コンソール左側メニューから「Kubernetes Engine」を選択します。

GCP コンソール左側メニューから Kubernetes Engine を選択する画面

「クラスタを作成」をクリックします。

GKE クラスタ一覧画面と「クラスタを作成」ボタン

設定はデフォルトのままで問題ありませんが、ロケーションタイプは latency の観点から asia-northeast1-a(または近いリージョン)を選択します。設定後に「作成」をクリックしてください。クラスタの作成には数分かかります。

GKE クラスタ作成設定画面(ロケーションタイプの選択)

クラスタの作成が完了すると以下の画面になります。

GKE クラスタ作成完了後の一覧画面

このとき Compute Engine では VM インスタンスが 3 つ自動作成されています。これらは課金対象のため、作業が終わったら必ずクラスタを削除してください。

Compute Engine に自動作成された VM インスタンス 3 台の一覧

2. gcloud 環境から kubectl を接続する

クラスタ一覧画面から「接続」メニューをクリックします。

GKE クラスタ一覧の「接続」メニューを選択している画面

gcloud 環境から接続するための gcloud container clusters get-credentials コマンドが表示されるので、コピーして gcloud シェルで実行します。

クラスタ接続用の gcloud コマンドが表示されたダイアログ

コマンドを実行後、kubectl version で接続が正常に完了しているか確認します。

kubectl version
kubectl version コマンドの実行結果(クライアント・サーバのバージョンが表示)

kubectl の基本操作:Pod・Deployment・Job

Kubernetes には複数のワークロードタイプがあります。本記事では以下の 3 種類を試します。

  • Pod 単体: コンテナを 1 つ起動。再起動なし(--restart=Never
  • Deployment: 指定数のコンテナを常時維持。コンテナが落ちると自動的に再起動する
  • Job: バッチ処理向け。処理完了で Completed 状態になり、失敗時は自動リトライする

1. Pod 単体の起動・確認・削除

hello-world イメージを使って Pod を単体起動します。

# 起動
kubectl run hello --image=hello-world -it --restart=Never

# 状態確認
kubectl get all
kubectl get pods
kubectl run と kubectl get all/pods の実行結果
# 削除
kubectl delete pod hello
kubectl delete pod の実行結果

2. Deployment の起動・スケール・確認・削除

nginx を 6 Pod で起動する例です。kubectl scale でレプリカ数を変更できます。

# 起動(1 Pod)してから 6 Pod にスケール
kubectl create deployment hello --image=nginx
kubectl scale --replicas=6 deployment/hello

# 状態確認
kubectl get deployment
kubectl get pod
Deployment で 6 Pod が起動している状態を kubectl get pod で確認した画面
# 削除
kubectl delete deployment hello
kubectl delete deployment の実行結果

3. Job の起動・確認・削除

hello-world をバッチジョブとして実行します。処理完了後に STATUSComplete になります。

# 起動
kubectl create job hello --image=hello-world

# 状態確認
kubectl get job
kubectl get pod
kubectl create job と kubectl get job/pod の実行結果(Completed 状態)
# 削除
kubectl delete job hello
kubectl delete job の実行結果

まとめ:GKE + kubectl で Kubernetes の基礎操作を試す方法

本記事で解説した手順をまとめます。

  • GCP コンソールから GKE クラスタを作成し、gcloud container clusters get-credentials コマンドで kubectl を接続できる
  • クラスタ作成中は VM インスタンス(デフォルト 3 台)が起動し課金されるため、作業後は必ずクラスタを削除する
  • Pod 単体起動(kubectl run)・Deployment(kubectl create deployment)・Job(kubectl create job)の 3 種類のワークロードを 1 コマンドで起動できる
  • Deployment はコンテナが落ちた際に自動で指定数まで再起動してくれる可用性の高いワークロード
  • Job はバッチ処理向けで、処理完了後に Completed、失敗時は自動リトライする動作が Deployment と異なる