Kubectlとは
KubectlはKubernetesクラスターと対話するためのコマンドラインツールです。Kubernetesクラスターとリソースの管理、検査、操作を行うことができます。
Kubectlのインストール
Kubectlを使用する前に、インストールする必要があります。以下に、異なるオペレーティングシステムへのKubectlのインストール手順を示します。
Windows
- Kubernetesのリリースページから最新のKubectl実行ファイルをダウンロードします。
- Kubectl実行ファイルをシステムのPATHに追加します。
MacOS
Homebrewを使用して次のコマンドを実行します。
$ brew install kubectl
Linux
Ubuntu/Debianではapt
、CentOS/Red Hatではyum
などのパッケージマネージャーを使用します。Ubuntuの場合の例は次のとおりです。
$ sudo apt-get install -y kubectl
基本的なKubectlコマンド
いくつかの基本的なKubectlコマンドについて説明します。
リソースの一覧表示 (kubectl get)
kubectl get
コマンドは、クラスター内のさまざまなリソース(ノード、ポッド、サービスなど)を一覧表示するために使用されます。
$ kubectl get pods
出力形式を変更するためにフラグを使用することもできます。例えば、リソースをYAML形式で表示するには次のコマンドを実行します。
$ kubectl get pod my-pod -o yaml
リソースの詳細表示 (kubectl describe)
kubectl describe
コマンドは、特定のリソースに関する詳細な情報を表示します。特にトラブルシューティングに役立ち、指定したリソースの概要と詳細データを表示します。
$ kubectl describe pod my-pod
クラスター構成の表示 (kubectl config view)
kubectl config view
コマンドを使用して、kubeconfigの設定(クラスター構成、ユーザー、コンテキストなど)を表示することができます。
$ kubectl config view
このコマンドは、Kubectlが異なるクラスターとの対話方法が設定されているかを確認するのに特に役立ちます。
クラスター情報の表示 (kubectl cluster-info)
kubectl cluster-info
コマンドを使用して、Kubernetesクラスターに関する基本情報を表示します。これには、マスターや関連するURLを持つサービスなどが含まれます。
$ kubectl cluster-info
このコマンドにより、Kubernetesクラスターのハイレベルな構造を把握することができます。
リソースの作成 (kubectl create)
YAMLまたはJSONの構成ファイルからリソースを作成するためにkubectl create
コマンドを使用できます。
$ kubectl create -f my-pod.yaml
リソースへの構成の適用 (kubectl apply)
kubectl apply
コマンドは、リソースに対する構成変更を適用するために使用されます。特に構成ファイルでリソースを更新する際に便利です。
$ kubectl apply -f my-pod.yaml
リソースの削除 (kubectl delete)
kubectl delete
コマンドを使用すると、Kubernetesクラスター内のリソースを削除することができます。
$ kubectl delete pod my-pod
ログの表示 (kubectl logs)
実行中のコンテナのログを表示するためにkubectl logs
コマンドを使用できます。これはデバッグのために役立ちます。
$ kubectl logs my-pod
コンテナ内でコマンドを実行 (kubectl exec)
kubectl exec
コマンドを使用すると、ポッドに属するコンテナ内でコマンドを実行できます。
ルートディレクトリのファイルをリストするには次のコマンドを実行します。
$ kubectl exec my-pod -- ls /
コンテナ内でシェルにアクセス (kubectl exec -it)
次のコマンドを使用して、コンテナ内のシェルにアクセスできます。
$ kubectl exec -it my-pod -- /bin/bash
サービスの公開 (kubectl expose)
kubectl expose
コマンドは、ポッドを公開するために使用されます。
$ kubectl expose deployment my-deployment --type=LoadBalancer --port=8080
リソースのスケーリング (kubectl scale)
kubectl scaleコマンドを使用して、リソースのレプリカの数を拡張または縮小することができます。
$ kubectl scale deployment my-deployment --replicas=3
参考