Кластер мониторингі
Kubernetes кластерінің күйін бақылау үшін келесі құралдар қолжетімді:
-
Kubernetes Dashboard ішіне ендірілген құралдар.
Олар Kubernetes ресурстары туралы ақпаратты көруге мүмкіндік беретін базалық мониторинг мүмкіндіктерін қамтамасыз етеді.
-
Аддон кластер мониторингінің мүмкіндіктерін кеңейтеді:
- Kubernetes-тің көптеген ресурстары, жеке подтарға дейін, бойынша метрикаларды көруге мүмкіндік береді.
- Метрикалар үшін берілген шектер асқан кезде хабарламалар жіберетін alert-терді қолдайды. Мысалы, кластер ресурстарының қолжетімсіздігін немесе worker-түйіндерде есептеу қуатының жетіспеуін бақылауға болады.
- Кластер ресурстарының тұтынылуын болжауға, болжау графиктерін қарауға және ресурстардың жақын арада таусылуы туралы хабарламаларды алдын ала алуға мүмкіндік береді. Болжау тек VK Tech тарапынан доработкалары бар аддон нұсқаларында қолжетімді (нұсқа нөмірінде
vkбар).
Мониторинг аддоны кластерде орнатылған-орнатылмағанын білу үшін, орнатылған аддондар тізімін қараңыз.
-
Кластер ресурстары туралы деректерді алыңыз:
- Kubernetes Dashboard интерфейсінің жоғарғы жағындағы ашылмалы тізімнен қажетті namespace-ті таңдаңыз. Әдепкі бойынша
defaultnamespace-і таңдалған. - Бүйірлік мәзірден қажетті Kubernetes ресурсын таңдаңыз.
- Kubernetes Dashboard интерфейсінің жоғарғы жағындағы ашылмалы тізімнен қажетті namespace-ті таңдаңыз. Әдепкі бойынша
-
Кластерде мониторинг аддоны (
kube-prometheus-stack) орнатылғанына көз жеткізіңіз. -
Көз жеткізіңіз, кластерге
kubectlкөмегімен қосыла алатыныңызға. -
Grafana веб-интерфейсіне қол жеткізіңіз:
-
Терминалдың бөлек сессиясында команданы орындаңыз:
kubectl -n prometheus-monitoring port-forward service/kube-prometheus-stack-grafana 8001:80 -
Команда шығысы бойынша Grafana-ға қол жеткізу үшін
kubectlашқан портты анықтаңыз.Порт нөмірі
→таңбасына дейін көрсетіледі. Мысалы, осы шығыстан қосылу үшін6637порты пайдаланылатыны көрінеді:Forwarding from 127.0.0.1:6637 -> 3000Forwarding from [::1]:6637 -> 3000 -
Браузерде Grafana веб-интерфейсіне қол жеткізу URL-ын ашыңыз:
http://localhost:<ПОРТ>/Grafana кіру беті ашылады.
-
-
Grafana-ға кіріңіз. Аддон қандай параметрлермен орнатылғанына байланысты мыналардың бірін пайдаланыңыз:
adminлогині мен уақытша құпиясөз. Құпиясөзді алғашқы кіруден кейін ауыстыру қажет болады.adminлогині мен Kubernetes құпиясынан алынған тұрақты құпиясөз.
Енді сіз Grafana-мен жұмыс істей аласыз. Мысалы, дашбордтар жасап, оларды қарай аласыз. Kubernetes-тің әртүрлі ресурстары туралы ақпараты бар алдын ала бапталған дашбордтар бүйірлік мәзірдегі Dashboards → Browse бөлімінде қолжетімді.
Grafana-мен жұмыс туралы толығырақ ресми құжаттамадан қараңыз.
VK Tech доработкалары бар kube-prometheus-stack мониторинг аддонына кластердің белгілі бір ресурстары берілген уақыттан кейін таусылады деп болжанған жағдайда хабарламалар жіберуге арналған alert-тер ендірілген. Сондай-ақ бұл аддон Grafana-да ресурстар тұтынылуының ағымдағы болжамдары көрсетілетін дашбордтарды ұсынады.
Аддон болжамдарды сызықтық регрессия әдісімен жасайды: берілген кезең шегінде белгілі бір аралықпен жиналған метрика мәндері бойынша сызықтық функция құрылады; болжам осы функцияның болашақтағы берілген уақыттан кейінгі мәні ретінде есептеледі. Алынған мән Kubernetes объектісіндегі ресурс сыйымдылығының ең жоғарғы мәнінен пайызбен өрнектеледі.
-
Кластерде VK Tech доработкалары бар (нұсқа нөмірінде
vkжұрнағы бар)kube-prometheus-stackмониторинг аддонының нұсқасы орнатылғанына көз жеткізіңіз. -
kube-prometheus-stackаддоны кодының өңдеу бетіне өтіңіз және кодтағыgrafana.alerts.enabledпараметріtrueмәніне тең екеніне көз жеткізіңіз. Бұл мән параметрге аддонды орнату кезінде беріледі. -
Егер бұл параметр
falseболып өзгертілсе, оныtrueетіп түзетіп, жаңартылған баптауларды сақтаңыз. -
Бүйірлік мәзірден Dashboards бөліміне өтіңіз.
-
VK Cloud бөліміндегі дашбордтар тізімінен K8s Resources Prediction дашбордын ашыңыз.
-
Ресурстар тұтынылуының қолжетімді болжамдарын қараңыз:
- CPU Leaders: worker-түйіндерінің CPU тұтыну болжамы.
- Memory Leaders: worker-түйіндерінің RAM тұтыну болжамы.
- Persistent Volume Leaders: тұрақты томдағы (PV) орын тұтыну болжамы.
- Inode Leaders: тұрақты томдағы индекс дескрипторларының (inode) тұтынылу болжамы.
-
(Опционалды) Grafana басқару элементтері арқылы болжамдардың өзіңізге ыңғайлы көрсетілуін баптаңыз.
-
(Опционалды) Болжамдар есептелетін параметрлерді өзгертіңіз:
- Analysis period: болжам функциясын құру үшін пайдаланылатын, ағымдағы сәтке дейінгі уақыт аралығы.
- Forecast horizon: болжам есептелетін болашақ сәт пен ағымдағы сәт арасындағы аралық.
-
Бүйірлік мәзірден Alerting → Alert rules бөліміне өтіңіз.
-
Grafana блогында VK Cloud > K8s Resources Prediction бумасын ашып, ресурстардың таусылуына арналған ендірілген alert-терді қараңыз:
- K8sNodeCpuPrediction: worker-түйінінде бос CPU жоқ.
- K8sNodeMemoryPrediction: worker-түйінінде бос RAM жады жоқ.
- K8sPersistentVolumeCapacityPrediction: тұрақты томда бос орын жоқ.
- K8sPersistentVolumeInodePrediction: тұрақты томда бос индекс дескрипторлары жоқ.
Бұл alert-тердің келесі параметрлері бар:
- Деректерді талдау тереңдігі:
1 апта. - Метрикадан деректер таңдалатын аралық:
10 минут. - Болжам тереңдігі:
1 күн. - Alert іске қосылу шегі:
100%.
Ендірілген alert-тердің параметрлерін өзгертуге болмайды, бірақ ендірілген alert негізінде өз alert-іңізді жасауға болады.
-
(Опционалды) Ендірілген alert негізінде өз alert-іңізді жасаңыз:
-
Alert-тер тізімінде қажетті ендірілген alert үшін, мысалы
K8sNodeCpuPrediction, көшіру батырмасын басыңыз. -
Ескертуді оқып, Copy батырмасын басыңыз.
Add rule беті ашылады. 2 Define query and alert condition бөлімінде A белгісінің астында сұрау жолы көрсетіледі.
K8sNodeCpuPredictionalert-і үшін ол мынадай болады:predict_linear(avg(instance:node_cpu_utilisation:rate5m * 100 * on(instance) group_left(nodename) node_uname_info{nodename!~".*master.*"}) by (nodename) [1w:10m],86400)Бұл сұрауда келесі мәндер бар:
100— пайызбен берілген alert іске қосылу шегі;1w— деректерді талдау тереңдігі;10m— деректерді таңдау аралығы;86400— секундпен берілген болжам тереңдігі.
-
Мәндерді қажеттілеріне өзгертіңіз. Болжам тереңдігі тек секундпен беріледі, ал талдау тереңдігі мен таңдау аралығы үшін басқа өлшем бірліктері де қолжетімді.
-
Alert-тің басқа параметрлерін Grafana ресми құжаттамасында сипатталғандай баптаңыз.
-
Өзгерістерді сақтаңыз.
-
-
Ендірілген және өз alert-теріңіздің іске қосылуы туралы хабарламаларды жеткізуді баптаңыз.
Болжауды баптау аяқталды.
Енді сіз:
- ресурстардың таусылуы туралы хабарламалар ала аласыз;
- хабарлама алған кезде ықтимал мәселелерді алдын ала шешу үшін басқа объектілер бойынша да болжамдарды қарай аласыз;
- ағымдағы болжамдарды қарап, оларды Grafana-ның стандартты дашбордтарында көрсетілген тұтыну динамикасымен салыстыра аласыз;
- салыстыру нәтижелері бойынша болжау параметрлерін нақтылап, өз alert-теріңізді жасай аласыз.