目次
kubectlの概要、特徴、基本機能、拡張機能について
kubectl とは Kubernetes クラスターを操作するためのコマンドラインツールです。シンプルな操作性、柔軟性、拡張性を備え、開発者や運用者にとって大変有用なツールです。
本記事では、 kubectl について概要、特徴、基本機能から拡張機能まで利用方法について紹介します。
1.kubectlとは
kubectl は Kubernetes API を使用して Kubernetes クラスターのコントロールプレーンと通信するためのコマンドラインツールです。 Kubernetes では、クラスター上でのあらゆる操作を Kubernetes API サーバを通して実行します。

kubectlの制御対象
kubectl では主に以下のコンポーネントを制御することで、クラスター管理を行なっています。
Context(コンテキスト)
Kubernetes クラスターへの接続情報、認証情報を組み合わせたものです。 kubectl でクラスターに接続するとき、 Context 単位で Kubernetes クラスターに接続するかが決まります。
Namespace(ネームスペース)
Kubernetes クラスター内でリソースを論理的に分離するための仮想クラスターです。ネームスペースを使用することで、同じクラスター内で異なるプロジェクトやチームが独自の環境を持つことができます。 Namespace はオプション設定なので、ネームスペースを変更する必要があるときだけ設定します。

図版出典:Think IT
Pod(ポッド)
Kubernetes上で動作する最小の実行単位であり、1つ以上のコンテナをまとめたものです。ポッドは同じネットワークとストレージを共有し、アプリケーションを実行するために使用されます。
Deployment(デプロイメント)
アプリケーションやサービスのデプロイとスケーリングを管理するリソースです。 Pod のセットを定義し、スケーリングやアップデートを容易に行うことができるようになります。
Service(サービス)
クラスター内のポッドに対して永続的なネットワークエンドポイントを提供し、外部からアクセスできるようにする仕組みです。
2. kubectlの基本的な利用方法
kubectl の基本的な利用方法について代表的な OS へ対するインストール方法及びコマンドラインについて解説します。
インストール
kubectl をインストールするには、 Kubernetes クラスターのバージョンに合わせたkubectl のバージョンを選択し、適切な手順に従ってインストールする必要があります。
バージョンは、クラスターのマイナーバージョンとの差分が1つ以内である必要があり、例えば、クライアントが v1.2 であれば、 v1.1 、 v1.2 、 v1.3 のマスターで動作する最新バージョンの kubectl を使うことが推奨されます。
サポートされているプラットフォーム及びそれらの一般的な環境での kubectl のインストール手順の概要を解説します。
Linuxの場合
kubectl は Linux ディストリビューション( Ubuntu 、 Debian 、 CentOS 、 Fedora など)でサポートされています。標準のパッケージマネージャーやダウンロード経由でインストールすることができます。
手順1.kubectlのダウンロード
sudo curl -LO https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
手順2.kubectlを実行可能にする
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
手順3.インストールの確認コマンド
kubectl version --client
macOSの場合
kubectl は macOS でもサポートされており、 Homebrew などのパッケージマネージャーを使用して簡単にインストールできます。
手順1.kubectlのダウンロード
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
手順2.インストール
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
手順3.インストールの確認コマンド
kubectl version –client
Homebrew を使用して kubectl をインストールする場合は以下のコマンドとなります。
brew install kubectl
Windowsの場合
kubectl.exe が Windows でサポートされています。 Windows 用のバイナリをダウンロードして実行します。
手順1.kubectl.exeのダウンロード
https://kubernetes.io/ja/docs/tasks/tools/install-kubectl/#install-kubectl-on-windows から kubectl.exe をダウンロードして、任意のディレクトリに保存します。
手順2.環境変数の設定
ダウンロードしたディレクトリをシステムの環境変数 PATH に追加します。
手順3.インストールの確認コマンド
kubectl version --client
このコマンドを実行して、正しく kubectl がインストールされているか確認します。
注意事項としてこれらのインストールには適切な権限が必要です。事前に実施する際の権限を確認しましょう。またダウンロードする kubectl のバージョンは、クラスターのバージョンと互換性があることもあわせて確認しましょう。
詳細についてはKubernetes の公式ドキュメントをご参照ください。
- ※1 参考記事:
- kubectlのインストールおよびセットアップ
kubectlの基本コマンドの利用事例
kubectlでよく使われる基本的なコマンドをオプションの例も含み紹介します。
Podの一覧を表示
kubectl get pods -n <namespace>
特定の名前空間に絞って Pod を表示します。
Podの詳細情報を表示
kubectl describe pod <pod-name>
デプロイメントの一覧を表示
kubectl get deployments --all-namespaces または kubectl get deployments -A
すべての名前空間でデプロイメントを表示します。
サービスの一覧を表示
kubectl get services -o wide
追加の情報( IP アドレスなど)を含めてサービスを表示します。
YAMLファイルからリソースをデプロイ
kubectl apply -f my-resource.yaml --validate=false
リソースのバリデーションを無効にしてデプロイします。
Pod内でコマンドを実行
kubectl exec -it <pod-name> -c <container-name> -- /bin/bash
特定のコンテナ内でコマンドを実行します。
ログを表示
kubectl logs <pod-name> -f
ログをリアルタイムで表示します。
Podを削除
kubectl delete pod <pod-name> --grace-period=0 –force
強制的に Pod を削除します。
これらは一般的な kubectl コマンドの一部であり、様々なオプションを組み合わせて利用できます。特定の操作や詳細なオプションについては、 kubectl –help や Kubernetes の公式ドキュメントをご参照ください。
- ※2 参考記事:
- Command line tool (kubectl)
3. kubectlの拡張的な利用方法
Kubernetes クラスターとの対話をより効果的にするために、 kubectl の拡張機能として外部のツールやスクリプトを利用する手段を提供します。本章では拡張機能であるプラグインと、 Kubernetes エコシステムについて解説します。
kubectlのプラグイン
kubectl プラグインとは、 kubectl ツールの拡張機能として追加の機能やサブコマンドを提供する外部ツールやスクリプトです。
Krewと呼ばれるkubectlのプラグインマネージャーを使用して簡単に導入でき、プラグインのインストールや削除、一覧表示などを簡単に行うことができます。 krew を使用して新しいプラグインをインストールするコマンドは以下の通りです。
プラグインのインストール
kubectl krew install <plugin-name>
※下記はkrew自体をインストールする場合です。
kubectl krew install krew
プラグインの一覧表示
kubectl krew list
インストールされたプラグインの一覧を表示します。
プラグインの更新
kubectl krew update
krew も含め、インストールされたプラグインをアップデートします。
プラグインを活用することで Kubernetes の操作や管理タスクを拡張し、より便利に行えるようになります。
Kubernetesのエコシステムとの統合
Kubernetes エコシステムには、 kubectl と連携する多くのサードパーティのツールがあります。例えば、 Kubernetes ダッシュボード、 K9s 、 Lens などが代表的なものです。
これらのツールは、クラスターを可視化し、管理するためのグラフィカルユーザーインターフェース( GUI )を提供しkubectl をより効果的に利用できるようになります。
また Kubernetes コミュニティでは、ワークショップ、ウェビナー、カンファレンスなどを通じて、 kubectl や Kubernetes のトレーニングとイベントが提供されています。必要に応じてこれらの情報を活用することが推奨されます。
- ※3 参考記事:
- Kubernetesコミュニティ
4. まとめ
kubectl は、 Kubernetes クラスターを操作するための強力で柔軟なコマンドラインツールであり、クラスター内のリソースの作成、管理、監視を容易に行うことができます。
本記事でご紹介した機能はほんの一部です。様々な機能を備えており、 Kubernetes の運用を効果的に実行できる欠かせない管理ツールです。 kubectl の活用をご検討下さい。
Kubernetes の運用をサポートしてほしい

Contactお問い合わせ
お見積もり・ご相談など、お気軽にお問い合わせください。