k8s のpod からネットワーク速度を覗く
k8s 上のpod でファイルを転送する場合にネットワークが詰まっているかどうか、プロセスがゾンビ化していないかを確認したかったので、やり方を調査したのでメモ。
どう解決したか
シンプルに netstat
を使うことで確認できた。
久しぶりに netstat
を使ったので存在を忘れていた。
コンテナのイメージサイズを減らすため、必要だったコマンドを実行するためのpackage が含まれていなかったため、pod に入ってからインストールする。
# pod にログイン $ kubectl exec -it pod-id -n namespace -c main /bin/bash # netstat とps コマンドを実行するために必要なpackage をinstall $ apt-get update && apt-get install -y procps net-tools
procps
は ps
を実行するために必要で、pid を調べるためにinstall した。
netstat
でプロセス毎の状態を見るには以下のコマンドを使用した。
$ netstat -alp
上記のコマンドを実行すると ESTABLISHED
という State
が確認でき、接続中であることがわかる。
また、 Recv-Q
, Send-Q
でパケットの送受信も確認できた。
watch
コマンドを組み合わせて、 watch netstat -alp
とすることで、パケットの変動とかも確認することができる。
以上