get
1 |
kubectl get [type] [name] [flags] |
よく使うオプション
-n or --namespace
指定した名前空間の情報を出力できる。
例
この例であれば「kube-system」という名前空間に対して実際に動いているpodの一覧を出力できます。
1 |
kubectl get pod -n kube-system |
-o or --output
情報を出力できる。
-w
podなどの状態変化を監視できる。
describe
リソースの詳細を確認する。デフォルトでyaml形式で表示されるのでoutputのオプションはないです。
1 |
kubectl describe [type] [name_prefix] [flags] |
よく使うオプション
-n or --namespace
指定した名前空間の情報を出力できる。
よくあるユースケース
podが動いていないときに、以下のようなコマンドを使用してpod自体の状態をチェックするために使用したりします。
1 |
kubectl describe pod <pod名> |
create/delete
リソースを作成、削除する。
1 |
kubectl create/delete -f FILENAME [type] [name] [flags] |
例
1 |
kubectl -f pod-test.yaml |
よく使うオプション
dry-run
クライアント側なのか、サーバー側なのかを指定できる。yamlの雛形を作る時などは便利。
exec
podにログインできます。
1 |
kubectl exec -n {ネームスペース名} -it {pod名} -- mysql -u{ユーザー名} -p{パスワード} |
podでシェル操作をする場合は以下のように指定します。
1 |
kubectl exec -it {pod名} sh |
コンテナから出る
プロセスを修了してログアウト
ただし、commandなどでループ処理などを実行していたら落ちることはないです。
1 |
exit |
プロセスを残したままログアウト
1 |
Ctrl + P → Ctrl + Q |
ファイル転送
ホスト→pod
1 |
kubectl cp {ホスト} {転送先pod:転送先ディレクトリ名} |
pod→ホスト
1 |
kubectl cp {転送元pod:転送元ディレクトリ名} {ホスト名} |
デバッグ系
nodeのデバッグ
ノードで動いている全てのpodを見るには?
以下のコマンドを実行すれば下の方に「Non-terminated Pods」という項目が出てくるのでそれがノード上で動いている全てのpodになります。
1 |
kubectl describe node {ノード名} |
podのデバッグ
podがどのノードで動いているか。
以下のコマンドを打てばnodeという列が出てくるので対象のpodがどのノードで動いているか確認することができます。
1 |
kubectl get pod {pod名} -o wide |
podが起動していない原因を探るには?
「kubectl get pod」でpodの状態を見ることができますがRunning状態になっていない原因などは以下のコマンドを打ちます。
1 |
kubectl describe pod {pod名} |
下の方にEventsという項目が出てくるのでそちらを確認します。
この記事へのコメントはありません。