LoginSignup
37
23

超簡単! Kubernetesデバッグチートシート

Posted at

んー、いろいろみたい! BusyBox

kubectl run -it --rm busybox --image=busybox -- sh

まずはBusyBoxを使って、いろんなことをチェックしちゃおう!このコマンドを実行すると、BusyBoxという小さなコンテナを作ってくれるよ。中に入って、色々なツールを使ってトラブルシューティングできるんだ。とっても便利!

本当にそのなまえ引けてる? nslookup

kubectl run -i --tty dns-test \
  --image=busybox \
  --restart=Never \
  --rm -- nslookup example.com

次はnslookupを使って、ちゃんと名前解決できてるかを確認しよう。BusyBoxを使って、「example.com」が正しく引けるかをチェック!もし引けないなら、DNSの設定を見直す必要があるかもね。


ログをチェック! Stern

stern <pod-name>

ポッドのログを見るのも大事だよね。sternを使えば、指定したポッドのログをリアルタイムでチェックできるんだ。しかも複数のポッドのログを同時に見られるから、とっても便利!エラーや警告メッセージがないか、しっかり確認しよう!

ディープダイブ!kubectl describe

kubectl describe pod <pod-name>

ポッドの詳細情報を知りたいときは、kubectl describeがオススメ!これでポッドのステータスやイベントを詳しく見ることができるよ。どこで問題が起きているか、手がかりを探そう!

ポッドの中に入ろう!kubectl exec

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

ポッドの中に直接入ってトラブルシューティングしたいときは、kubectl execを使おう!このコマンドを実行すれば、指定したポッド内でシェルにアクセスできるんだ。中に入って、問題を詳しく調査しよう!

これってどういう状態?kubectl get

kubectl get pods

最後に、クラスタ内のリソースの状態をさくっと確認したいときは、kubectl getが便利!ポッドやサービスのリストを一目で確認できるよ。クラスタの全体像を把握しよう!


ネットワークを調べるなら!Netshoot

kubectl run netshoot --rm -it --image nicolaka/netshoot -- /bin/bash

ネットワークの問題を詳しく調査したいときは、netshootがオススメ!このコマンドを実行すれば、netshootコンテナの中に入って、豊富なネットワークツールを使えるよ。例えば、pingtraceroutedigcurlなどを使って、ネットワークの状態をチェックしよう!


もっと深く調査したいときは!Debug Container

kubectl debug <pod-name> --image=nicolaka/netshoot

既存のポッドに新しいコンテナを追加して、トラブルシューティングを行いたいときは、kubectl debugを使おう!このコマンドを実行すれば、指定したポッドにnetshootイメージを使ったデバッグ用のコンテナを追加できるんだ。これで、元のポッドを停止せずに詳細な調査ができるよ!

37
23
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
23