Кубернети

Сървър за метрики Kubernetes

Сървър за метрики Kubernetes
При толкова голяма и сложна система като Kubernetes мониторингът често може да стане обезпокоителен.Мониторингът винаги е сложен бизнес, тъй като от една страна не искате да пропускате критични грешки и неуспехи, от друга страна, не искате да се потопите в океана от тривиални грешки, които се задействат не поради вашето приложение, нито засягащи така или иначе.

Със свой собствен стек от планиращи програми и контролери, Kubernetes може да се възстанови от незначителни повреди, неуспешни възли или приложения, които се сриват вътре в техните подсистеми. Ако обаче се случат много сривове, това може да няма нищо общо с инфраструктурата, а всичко свързано с вашето приложение, което Kubernetes може да се опита да рестартира отново и отново, но тъй като кодът е виновен, грешката ще продължи и може дори да остане незабелязана.

Видовете грешки, които остават незабелязани в повечето случаи, са тези, при които приложенията не се сриват, а в крайна сметка използват системни ресурси и нараняват клъстерите за цялата производителност. Това са особено неприятните случаи и Kubernetes Metrics Server може да бъде полезен инструмент за наблюдение върху тях.

Проектът официално е част от проекта Kubernetes, но не е предварително активиран в повечето дистрибуции, сертифицирани от Kubernetes. Той има две важни части, които си струва да обсъдите Metrics API и самия Metrics Server. Но първо нека го предоставим на нашия клъстер Kubernetes (K8).

Експериментална настройка на Kubernetes

От юли 2018 г. Docker за Mac и Windows идват със сертифицирана от Kubernetes реализация на самия K8. Улеснявайки го като инсталиране на K8 на дистрибуция на Linux. Можете да отворите настройките на Docker и ако екземплярът на Docker е актуален, ще намерите раздел Kubernetes в менюто. Просто активирайте Kubernetes вместо Docker Swarm и ще имате готов и работещ клъстер от един възел, готов за експерименти.

След това се нуждаем от няколко прости приложения, работещи за нашия случай на употреба. Създайте папка, наречена Deployments, и вътре в нея нека създадем nginx-разполагане.ямъл файлове, които биха разположили Nginx подсистеми без гражданство.

apiVersion: apps / v1 # за версии преди 1.9.0 използвайте apps / v1beta2
вид: Разгръщане
метаданни:
име: nginx-разполагане
спецификация:
селектор:
matchLabels:
приложение: nginx
реплики: 2 # казва на разполагането да стартира 2 шушулки, съответстващи на шаблона
шаблон:
метаданни:
етикети:
приложение: nginx
спецификация:
контейнери:
- име: nginx
изображение: nginx: 1.7.9
портове:
- containerPort: 80

Запазете файла и в същата директория, където е този файл, изпълнете командата:

$ kubectl create -f nginx-deployment.ямъл

Може да се наложи да изчакаме няколко минути, за да позволим на Kubernetes да изтегли изображенията на контейнерите, да осигури контейнерите и да извърши малко счетоводство. След като приключите, можете да видите списъка с шушулки като:

$ kubectl вземете шушулки

Както можете да видите, имаме два екземпляра на шушулката, като .yaml файл беше предписал.

Сега, когато има какво да наблюдаваме, трябва да активираме Metrics Server. Първо проверете версията на Kubernetes, която използвате. Ако версията е 1.8 или по-висока, тогава бихме изпълнили различно внедряване и ако е 1.7 след това прибягваме до наследствения:

$ kubectl версия

Можете да получите официалното изображение и да започнете, като клонирате това GitHub репо и след това в корена на хранилището стартирате kubectl създаване -f със съответния .yaml в зависимост от версията K8, която използвате.

$ git clone https: // github.com / kubernetes-incubator / metrics-server.git
 
$ cd метрика-сървър
# Ако използвате Kubernetes версия 1.8 или по-висока
$ kubectl create -f deploy / 1.8 + /
# Ако версията е 1.7, тогава
$ kubectl create -f deploy / 1.7 /

Дайте на kubernetes известно време, за да изтеглите изображенията и да завъртите сървъра за метрики. Може да отнеме няколко минути. След като приключите, вече сте готови да стартирате метричния сървър. Основната команда е вдъхновена от Горна част команда, която често се изпълнява за наблюдение на Linux система. Но има два варианта, един за проверка на използване на ресурсите на изчислението възли и второ за измерване на изразходван ресурс от разположените подс и. Ето как да видите тези две подробности:

$ kubectl горен възел
$ kubectl горна шушулка

Можете да видите колко модул облага вашата система по отношение на паметта или времето на процесора и като използвате API за метрики, можете да настроите и предупреждения според.

Къде ще отиде от тук?

Възникващите случаи на употреба от метричния сървър ще бъдат решаващи в бъдещето на Kubernetes. Този проект все още е във версия 0.2.x, след като узрее и се интегрира в основната архитектура на Kubernetes, той ще събира важни данни за планировчика, като му помага ефективно да разпределя шушулките към възлите по много по-ефективен начин.

По същия начин, Horizontal Pod Autoscaler ще спечели значително от проекта и ще ви помогне да увеличите или намалите, така че ресурсите да се използват оптимално от приложенията.

Препратки

  1. Внедряване на Nginx
  2. Сървър за метрики Kubernetes
  3. Документи за проектиране на API за метрики можете да намерите тук, а подобни можете да намерите информация за сървъра за метрики тук.
Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...
Екранен тракпад и указател на мишката на AppyMouse за таблети с Windows
Потребителите на таблети често пропускат показалеца на мишката, особено когато са привични да използват лаптопите. Смартфоните и таблетите със сензоре...
Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...