☸️ Как установить Netdata на Kubernetes с помощью Helm – Information Security Squad
☸️ Как установить Netdata на Kubernetes с помощью Helm

Netdata – это решение с открытым исходным кодом для систем мониторинга и устранения неполадок.

Его можно использовать для мониторинга кластера Kubernetes и отображения информации о вашем кластере, включая использование памяти узла, ЦП, сеть и многое другое.

Дашборд Netdata даст вам широкий обзор вашего кластера Kubernetes, включая службы и поды, работающие на каждом узле.

В этом посте мы расскажем, как развернуть Netdata в кластере Kubernetes с помощью чарта Helm.

Этот тип установки развертывает один родительский модуль на главном и дочернем модулях на каждом рабочем узле.

Дочерние поды собирают метрики с узлов, на которых они работают, метрики kube-proxy, kubelet и cgroup – с хостов.

Дочерние поды также используют общий коллектор Prometheus и обнаружение служб для доставки метрик.

Предварительные условия

Прежде чем мы сможем установить Netdata в нашем кластере, вам необходимо выполнить следующие условия:

  • Полнофункциональный кластер Kubernetes версии 1.9 и выше.
  • Инструмент командной строки Kubectl
  • Менеджер пакетов Helm версии 3.0.0 и выше.

Установим Netdata на Kubernetes с помощью Helm

Выполните следующие действия, чтобы установить Netdata в кластер Kubernetes с помощью чарта Helm.

Шаг 1 – Установите Helm в Linux | macOS

Далее мы покажем необходимые шаги, которые надо выполнить для установки Helm на Linux | macOS.

  • Скачайте пакетт Helm по этой ссылке : https://github.com/helm/helm/releases
    Распакуйте пакет с помощью tar -xvzf <downloaded-package>
  • Переместите бинарник в usr/local/bin/helm
Мы будем использовать скрипт установки, который автоматизирует описанные выше шаги.
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
sudo ./get_helm.sh

Пользователи macOS также могут использовать инструмент управления пакетами brew.

$ brew install helm
После установки подтвердите что все ок, проверив текущую версию:
$ helm version
version.BuildInfo{Version:"v3.4.0", GitCommit:"7090a89efc8a18f3d8178bf47d2462450349a004", GitTreeState:"clean", GoVersion:"go1.14.10"}

Добавьте репозиторий helm-charts, затем обновите helm

$ helm repo add stable https://charts.helm.sh/stable
$ helm repo update

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈

Шаг 2 – Установка Netdata с помощью чарта Helm

Вы можете установить Helm Chart двумя способами:

  • Установить из репозитория Netdata’s Helm
  • Клонировать репозиторий Netdata Git.

Как склонировать репозиторий Github

Убедитесь, что в вашей системе установлен git

Клонируем репозиторий git локально

git clone https://github.com/netdata/helmchart.git netdata-helmchart

Установим чарт:

helm install netdata ./netdata-helmchart/charts/netdata
Теперь вы можете увидеть развертывание Helm:
$ helm list
NAME   	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART        	APP VERSION
netdata	default  	1       	2020-11-20 18:41:46.244774507 +0000 UTC	deployed	netdata-3.1.0	v1.26.0  
Чтобы проверить, были ли успешно развернут родительский и дочерние поды:
$ kubectl get pods
NAME                              READY   STATUS    RESTARTS   AGE
netdata-child-fgh5c               2/2     Running   0          16h
netdata-child-qzhjp               2/2     Running   0          16h
netdata-child-ssmhp               2/2     Running   0          16h
netdata-parent-55d88fc784-x66ss   1/1     Running   0          16h

Шаг 3. Откройте Netdata-parent с помощью NodePort

В этом руководстве мы представим развертывание с помощью NodePort.

Netdata по умолчанию настроен для работы на порту 19999.

Чтобы открыть порт, используйте команду, показанную ниже:
 $ kubectl expose  deployment netdata-parent --type="NodePort" --port 19999

Теперь вы можете проверить порт, на котором была предоставлена служба, с помощью команды kubectl get service:

$ kubectl get service
NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)           AGE
kubernetes       ClusterIP   10.96.0.1       <none>        443/TCP           21h
netdata          ClusterIP   10.99.202.135   <none>        19999/TCP         17h
netdata-parent   NodePort    10.97.24.181    <none>        19999:30939/TCP   16h

Обратите внимание на использование namespace по умолчанию

В нашем развертывании служба netdata-parent была открыта на порту 30939.

Теперь вы можете получить доступ к панели управления netdata в своем браузере по адресу http://<yourmaster-IP>: NodePort

например http://172.16.1.4:30939 – это URL-адрес нашей панели инструментов.

Заключение

Мы успешно установили Netdata в нашем кластере Kubernetes с помощью инструмента командной строки Helm.

Ознакомьтесь с некоторыми из связанных статей, показанных ниже:

☸️ Изучаем Kubernetes: 5 лучших практик безопасности

☸️ Как настроить Grafana на Kubernetes

☸️ Как создать пользователя с правами администратора для доступа к Kubernetes Dashboard

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *