アプリケーションが動作するコンテナが含まれるPodの性能問題(CPU・メモリ)の分析方法と解決方法について説明します。
■分析方法
1. Ansibleサーバにログインし、以下のコマンドで分析対象のPod(Application)が動作するKubernetes nodeサーバのIPアドレスとコンテナIDを確認します。
kubectl describe pods <Pod名>
コマンド出力例を以下に示します。
Kubernetes nodeサーバのIPアドレスは、「Node」の値の「/」以降のIPアドレスを、 コンテナIDは、「Container ID」の「docker://」以降の値を確認してください。
以下の出力例の場合、「nginx-deployment-75675f5897-vp7m5」という名前のPodが、「172.16.2.10」のIPアドレスのKubernetes nodeサーバで動作して、コンテナIDは「27654c309cab1c9ea45e910a3e482d4c40537fe749848811675a5450beea6a3a」になります。
Name: nginx-deployment-75675f5897-vp7m5 Namespace: default Node: az2-sghpf-service-server-k8s-node-00.novalocal/172.16.2.10 Start Time: Wed, 05 Sep 2018 05:05:48 +0000 Labels: app=nginx pod-template-hash=3123191453 Annotations: <none> Status: Running IP: 10.244.2.139 Controlled By: ReplicaSet/nginx-deployment-75675f5897 Containers: nginx: Container ID: docker://27654c309cab1c9ea45e910a3e482d4c40537fe749848811675a5450beea6a3a Image: nginx:1.7.9 Image ID: docker-pullable://nginx@sha256:e3456c851a152494c3e4ff5fcc26f240206abac0c9d794affb40e0714846c451 Port: 80/TCP Host Port: 0/TCP State: Running Started: Wed, 05 Sep 2018 05:05:51 +0000 Ready: True Restart Count: 0 Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-dh9nk (ro) Conditions: Type Status Initialized True Ready True PodScheduled True Volumes: default-token-dh9nk: Type: Secret (a volume populated by a Secret) SecretName: default-token-dh9nk Optional: false QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s node.kubernetes.io/unreachable:NoExecute for 300s Events: <none>
2. 1.で確認したKubernetes nodeサーバにログインし、以下のコマンドでコンテナIDを指定して、CPU使用率とメモリ使用量を表示します。
docker statsコマンドに関する詳細は、docker stats | Docker Documentationを参照してください。
sudo docker stats <コンテナID>
コマンド出力例を以下に示します。
CPU使用率は「CPU %」の値を、メモリ使用量は「MEM USAGE / LIMIT」および「MEM %」の値を確認してください。
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 27654c309cab k8s_nginx_nginx-deployment-75675f5897-vp7m5_default_5a795b67-b0c9-11e8-a18d-fa163ebf2293_0 0.00% 4.094MiB / 31.26GiB 0.01% 0B / 0B 6.09MB / 0B 2
■解決方法
以下の場合、CPUやメモリのリソース不足により問題が発生している可能性があります。
以下のいずれかを実施することを検討してください。