Skip to content
Latchkey

kubectl とは?Kubernetes のためのコマンドライン

kubectl は、あなたのリクエストを Kubernetes API server に送るコマンドラインツールです - 人間と pipeline がクラスタと対話する主要な手段です。

Kubernetes クラスタに対して行うすべてはその API server を通り、kubectl はそのための標準的な client です。何が実行中かを検査するにせよ、新しい manifest を適用するにせよ、kubectl はあなたのコマンドを、kubeconfig が指すクラスタに対する API 呼び出しに変換します。

状態を検査する

  • kubectl get pods - pod を一覧表示する。
  • kubectl describe deployment web - 詳細な status とイベント。
  • kubectl logs <pod> - コンテナのログを読む。
  • kubectl get events - デバッグ用の最近のクラスタイベント。

状態を変更する

kubectl apply -f manifest.yaml は宣言的な主力です - ファイルに一致するようオブジェクトを作成または更新します。kubectl rollout statuskubectl rollout undo は rollout を管理し元に戻します。

context と kubeconfig

kubectl は cluster、user、context を保持する kubeconfig ファイルを読みます。kubectl config use-context は対象とするクラスタを切り替えます - 誤ったクラスタに対して prod コマンドを決して実行しないために極めて重要です。

命令的 vs 宣言的

kubectl createscale を命令的に行うこともできますが、バージョン管理された YAML を適用する方が望ましいです - 再現可能でレビュー可能であり、それが CI/CD にとって重要です。

CD pipeline における kubectl

deploy job はクラスタに認証し、それから kubectl apply(または kubectl set image)を実行して CI がビルドしたイメージを展開します。環境をまたぐミスを避けるため、pipeline では常に対象の context を確認しましょう。

重要なポイント

  • kubectl は Kubernetes API server のための CLI client です。
  • 再現性のため、命令的なコマンドより宣言的な kubectl apply を優先しましょう。
  • context が対象のクラスタを選びます - 変更の前にそれを確認しましょう。

関連ガイド