Установка Loki
Loki
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
Подготовьтесь к установке Loki:
-
Создайте сервисный аккаунт с ролями
storage.uploader
иstorage.viewer
. Он необходим для доступа к Yandex Object Storage. -
Создайте статический ключ доступа для сервисного аккаунта в формате JSON:
yc iam access-key create \ --service-account-name=<имя_сервисного_аккаунта> \ --format=json > sa-key.json
-
Создайте бакет с ограниченным доступом в Object Storage.
-
Установка с помощью Yandex Cloud Marketplace
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Kubernetes. -
Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку
Marketplace. -
В разделе Доступные для установки приложения выберите Loki и нажмите кнопку Перейти к установке.
-
Задайте настройки приложения:
- Пространство имен — выберите пространство имен для Loki или создайте новое.
- Название приложения — укажите название приложения.
- Имя бакета — укажите имя бакета в Object Storage.
- Статический ключ для доступа — скопируйте содержимое файла
sa-key.json
. - Установить Promtail — оставьте опцию включенной, чтобы поставлять локальные журналы инстансу Grafana Loki с помощью агента Promtail
. Обычно агент используется для приложений, для которых нужен регулярный мониторинг.
-
Нажмите кнопку Установить.
-
Дождитесь перехода приложения в статус
Deployed
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Установите kubectl
и настройте его на работу с созданным кластером. -
Для установки Helm-чарта
с Loki выполните команду:helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/grafana/loki/chart/loki \ --version 1.2.0-7 \ --untar && \ helm install \ --namespace <пространство_имен> \ --create-namespace \ --set global.bucketname=<имя_бакета> \ --set-file global.serviceaccountawskeyvalue=<путь_к_файлу_sa-key.json> \ loki ./loki/
Примечание
Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку
export HELM_EXPERIMENTAL_OCI=1 && \
, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm. -
Убедитесь, что все поды Loki перешли в состояние
Running
:kubectl get pods -A -l "app.kubernetes.io/instance=loki"
Подключение к Loki
После развертывания Loki будет доступен внутри кластера Managed Service for Kubernetes по следующему адресу:
http://<имя_сервиса_Loki_gateway>.<пространство_имен>.svc.cluster.local
Чтобы узнать пространство имен и имя сервиса Loki gateway выполните команду:
kubectl get service -A | grep distributed-gateway
Результат:
test-namespace loki-loki-distributed-gateway ClusterIP 10.96.168.88 <none> 80/TCP 15m