メインコンテンツまでスキップ

kubectl

Kubernetesクラスターを操作するためのコマンドラインツールである kubectl をインストールします。

kubectl の概要は次のとおりです。

  • Kubernetesクラスタのデプロイ、管理、運用を行うためのコマンドラインツール
  • kubectlを使用して、クラスタ内のリソースを作成、更新、削除、および監視可能
  • Kubernetesクラスタの管理を簡便にするための強力なツール
  • kubectl公式ドキュメント

kubectlのインストール

asdf を使って kubectl をインストールしてください。
asdf コマンドがインストールされていない方は、asdf の資料 を見ながらインストールしてください。

asdf plugin add kubectl
asdf install kubectl 1.30.0
asdf global kubectl 1.30.0

※ 使いたいクラスターバージョンに対応したクライアントにバージョンを切り替えてください

補完を設定する

コマンドで補完が効くように設定しましょう。

設定方法は以下で詳細に確認できます。

kubectl completion -h

kubectlの基本操作

クラスタ情報の確認

クラスタの情報を表示します。

kubectl cluster-info

コンテキストの確認

現在のコンテキストを表示します。

kubectl config current-context

使用可能なコンテキストの一覧を表示します。

kubectl config get-contexts

コンテキストの切り替え

特定のコンテキストに切り替えます。

kubectl config use-context <context-name>

ノードの確認

クラスタ内のノードを一覧表示します。

kubectl get nodes

Pod の確認

特定の名前空間内のポッドを一覧表示します。

kubectl get pods

何も表示されない場合は、 namespace を見直してください。 --namespace=<namespace> あるいは -n <namespace> をつけて再実行してみましょう。

いろんなリソースを確認

kubectl get all

例: Secret や ConfigMap も表示

kubectl get all,secret,cm

デプロイメントの作成

YAMLで書かれたmanifestをクラスターに適用します。

kubectl apply -f <your-manifest>.yaml

リソースの削除

YAMLで書かれたmanifestをクラスターから削除します。

kubectl delete -f <your-manifest>.yaml

リソースのログ確認

特定のポッドのログを表示します。

kubectl logs <pod-name>

インタラクティブシェルの起動

特定のポッド内でインタラクティブシェルを起動します。

kubectl exec -it <pod-name> -- /bin/bash

※ Pod で動くコンテナの中に /bin/bash がある場合に上記は利用可能です。

操作が終わったらすぐに削除したい場合は、以下が便利です。(自動的に終了するので消し忘れない)

kubectl exec --rm -it <pod-name> -- /bin/bash