Мониторинг ваших контейнеров в поде является ключом к знанию использования и как показатель автоматического масштабирования – HPA / VPA.
Эти метрики помогут вам установить квоты ресурсов и диапазоны ограничений в кластере OpenShift / OKD / OpenShift.
В этом руководстве я покажу вам, как вы можете проверить метрики пода / контейнера из CLI.
OpenShift поставляется с установленным сервером метрик.
Для Kubernetes используйте наше руководство:
☸️ Как развернуть Metrics Server в кластере Kubernetes
Как администратор кластера, вы можете настраивать метрики вашего кластера в желаемом состоянии.
Если метрики настроены правильно, вы можете использовать команду ниже, чтобы показать их для пода:
$ kubectl describe PodMetrics <pod-name>
В моем проекте у меня есть несколько подов, как показано ниже.
$ oc get pods
NAME READY STATUS RESTARTS AGE
harbor-harbor-chartmuseum-5456c9d756-97pdd 1/1 Running 0 38h
harbor-harbor-clair-654dcfd8bf-kgxk4 2/2 Running 0 38h
harbor-harbor-core-76d64c78b6-kv24c 1/1 Running 1 38h
harbor-harbor-database-0 1/1 Running 0 38h
harbor-harbor-jobservice-849f5cb79-qnw6v 1/1 Running 0 38h
harbor-harbor-notary-server-54cbdcffb7-98qjb 1/1 Running 1 38h
harbor-harbor-notary-signer-5dd4d88c8d-mnq44 1/1 Running 2 38h
harbor-harbor-portal-5cbc6d5897-gnfnz 1/1 Running 0 38h
harbor-harbor-redis-0 1/1 Running 0 38h
harbor-harbor-registry-5b5767dcb9-btlk7 2/2 Running 0 38h
jaeger-operator-7dbfd8c587-9l9hr 1/1 Running 0 6d15h
Затем мы можем проверить метрики пода harbor-harbor-database-0 с помощью команды:
$ oc describe PodMetrics harbor-harbor-database-0
Если метрики настроены, вывод будет похож на следующий, с процессором и памятью, отображенными в разделе Usage:
Name: harbor-harbor-database-0
Namespace: harbor
Labels: <none>
Annotations: <none>
API Version: metrics.k8s.io/v1beta1
Containers:
Name: remove-lost-found
Usage:
Memory: 0
Name: database
Usage:
Cpu: 6m
Memory: 344348Ki
Name: change-permission-of-directory
Usage:
Memory: 0
Kind: PodMetrics
Metadata:
Creation Timestamp: 2020-04-09T10:32:04Z
Self Link: /apis/metrics.k8s.io/v1beta1/namespaces/harbor/pods/harbor-harbor-database-0
Timestamp: 2020-04-09T10:32:04Z
Window: 5m0s
Events: <none>
Для Kubernetes используйте команду kubectl и укажите пространство имен в конце, используя опцию -n.
$ kubectl describe PodMetrics kuard
Name: kuard
Namespace: default
Labels: <none>
Annotations: <none>
API Version: metrics.k8s.io/v1beta1
Containers:
Name: kuard
Usage:
Cpu: 101379n
Memory: 8960Ki
Kind: PodMetrics
Metadata:
Creation Timestamp: 2020-04-09T10:40:24Z
Self Link: /apis/metrics.k8s.io/v1beta1/namespaces/default/pods/kuard
Timestamp: 2020-04-09T10:39:34Z
Window: 30s
Events: <none>
Это должно работать!