GKE クラスタを作成して gcloud から kubectl で Pod・Deployment・Job を操作する手順
目次
はじめに
「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 クラスタをマネージドで提供 |
| オーケストレーション | kubectl | Pod・Deployment・Job の操作コマンド |
GKE クラスタを作成して kubectl を接続する
1. GKE クラスタを作成する
課題:kubectl が操作できる Kubernetes クラスタ(Docker コンテナを動作させる複数の VM インスタンス群)を用意する必要がある。
解決策:GCP コンソールの「Kubernetes Engine」から GUI でクラスタを作成する。
GCP コンソール左側メニューから「Kubernetes Engine」を選択します。

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

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

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

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

2. gcloud 環境から kubectl を接続する
クラスタ一覧画面から「接続」メニューをクリックします。

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

コマンドを実行後、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 delete pod hello

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

# 削除
kubectl delete deployment hello

3. Job の起動・確認・削除
hello-world をバッチジョブとして実行します。処理完了後に STATUS が Complete になります。
# 起動
kubectl create job hello --image=hello-world
# 状態確認
kubectl get job
kubectl get pod

# 削除
kubectl delete job hello

まとめ: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 と異なる





ディスカッション
コメント一覧
まだ、コメントがありません