• Русский
  • Endpoint Health Checker

    Overview

    Endpoint Health Checker — это плагин кластера, предназначенный для мониторинга и управления состоянием здоровья сервисных эндпоинтов. Он автоматически удаляет нездоровые эндпоинты из балансировщиков нагрузки, чтобы трафик направлялся только на здоровые экземпляры, что повышает общую надежность и доступность сервиса.

    Key Features

    • Автоматический мониторинг здоровья: Непрерывно отслеживает состояние здоровья сервисных эндпоинтов
    • Интеграция с балансировщиком нагрузки: Автоматически удаляет нездоровые эндпоинты из ротации балансировщика нагрузки
    • Доступность сервиса: Обеспечивает направление трафика только на здоровые и доступные эндпоинты

    Installation

    Install via Marketplace

    1. Перейдите в Administrator > Marketplace > Cluster Plugins.

    2. Найдите в списке плагинов "Alauda Container Platform Endpoint Health Checker".

    3. Нажмите Install, чтобы открыть страницу конфигурации установки.

    4. Дождитесь, пока статус плагина не изменится на "Ready".

    How It Works

    Health Check Mechanism

    Endpoint Health Checker — это специализированный компонент мониторинга здоровья, который гарантирует, что трафик направляется только на здоровые эндпоинты. Он работает, отслеживая сервисные эндпоинты и автоматически управляя их статусом доступности.

    Core Functionality

    Endpoint Health Checker работает следующим образом:

    1. Обнаружение сервисов: Определяет сервисы и поды, настроенные для мониторинга здоровья
    2. Мониторинг здоровья подов: Отслеживает состояние readiness и liveness probe подов, поддерживающих сервисные эндпоинты
    3. Активные проверки здоровья: Выполняет активные проверки с использованием настраиваемых критериев:
      • Проверки TCP-соединения: Устанавливает TCP-соединения для проверки доступности порта
      • Валидация HTTP/HTTPS-ответов: Отправляет HTTP-запросы и проверяет коды ответов и содержимое
    4. Управление эндпоинтами: Автоматически удаляет нездоровые эндпоинты из списков сервисных эндпоинтов, чтобы предотвратить маршрутизацию трафика на неработающие экземпляры

    Health Check Process

    Процесс проверки здоровья включает:

    • Интеграция с probe: Использует результаты readiness и liveness probe Kubernetes как начальные индикаторы здоровья
    • Сетевое подключение: Отправляет TCP или HTTP пакеты на порты целевых эндпоинтов для проверки доступности
    • Валидация ответа: Оценивает статус ответа, время и содержимое для определения состояния эндпоинта
    • Автоматическое переключение: Удаляет недоступные или неработающие эндпоинты из ротации балансировщика нагрузки

    Activation Methods

    Проверка здоровья может быть активирована двумя способами:

    1. Аннотация на уровне пода (рекомендуется):

      Добавьте аннотацию в шаблон пода в вашем Deployment:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nginx-demo
      spec:
        replicas: 10
        selector:
          matchLabels:
            app: nginx-demo
        template:
          metadata:
            labels:
              app: nginx-demo
            annotations:
              endpoint-health-checker.io/enabled: "true"
          spec:
            containers:
              - name: nginx
                image: nginx:alpine
                ports:
                  - containerPort: 80
                livenessProbe:
                  tcpSocket:
                    port: 80
                  initialDelaySeconds: 15
                  periodSeconds: 10
                readinessProbe:
                  tcpSocket:
                    port: 80
                  initialDelaySeconds: 5
                  periodSeconds: 5
    2. readinessGates на уровне пода (устаревший способ):

      Настройте readinessGates в спецификации пода для старых версий:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nginx-demo-legacy
      spec:
        replicas: 5
        selector:
          matchLabels:
            app: nginx-demo-legacy
        template:
          metadata:
            labels:
              app: nginx-demo-legacy
          spec:
            readinessGates:
              - conditionType: "endpointHealthCheckSuccess"
            containers:
              - name: nginx
                image: nginx:alpine
                ports:
                  - containerPort: 80
                livenessProbe:
                  tcpSocket:
                    port: 80
                  initialDelaySeconds: 15
                  periodSeconds: 10
                readinessProbe:
                  tcpSocket:
                    port: 80
                  initialDelaySeconds: 5
                  periodSeconds: 5

      Примечание: Конфигурация readinessGates относится к более старой версии. Рекомендуется использовать аннотацию пода endpoint-health-checker.io/enabled: "true" для новых развертываний.

    Uninstallation

    Чтобы удалить Endpoint Health Checker:

    1. Перейдите в Administrator > Marketplace > Cluster Plugins.

    2. Найдите установленный плагин "Endpoint Health Checker".

    3. Нажмите меню опций и выберите Uninstall.

    4. Подтвердите удаление при появлении запроса.