Аргументы командной строки#

ANIC поддерживает ряд аргументов командной строки. Способ указания этих аргументов зависит от того, как вы устанавливаете ANIC:

  • Если вы используете манифесты Kubernetes (Deployment или DaemonSet) для установки ANIC, измените эти манифесты соответствующим образом, чтобы задать аргументы командной строки. См. документацию по установке с манифестами.

  • Если вы используете Helm для установки ANIC, измените параметры диаграммы Helm, соответствующие аргументам командной строки. См. документацию по установке с помощью Helm.

Ниже в алфавитном порядке перечислены доступные аргументы командной строки:

-angie-configmaps <строка>#

Ресурс ConfigMap для настройки конфигурации Angie. Если ConfigMap задан, но ANIC не может получить его из API Kubernetes, то ANIC не запустится.

Формат: <пространство имен>/<имя>

-angie-debug#

Включает отладку для Angie. Использует бинарник angie-debug. Требуется 'error-log-level: debug' в ConfigMap.

-angie-reload-timeout <значение>#

Время ожидания в миллисекундах, в течение которого ANIC будет ожидать успешной перезагрузки Angie после изменения конфигурации или при начальном запуске.

Значение по умолчанию - 60000.

-angie-status#

Включает Angie stub_status.

По умолчанию true.

-angie-status-allow-cidrs <строка>#

Добавляет блоки IP/CIDR в список разрешений для Angie stub_status.

Несколько IP или CIDR разделяются запятыми. (По умолчанию 127.0.0.1,::1)

-angie-status-port <int>#

Задает порт, на котором доступен Angie stub_status.

Формат: [1024 - 65535] (по умолчанию 8080)

-angie-status-prometheus <bool>#

Включает или отключает выдачу статистики Angie в формате Prometheus.

Формат: false или true (по умолчанию true)

-angie-status-prometheus-allow-cidrs#

Добавляет блоки IP/CIDR в список разрешений для статистики Angie в формате Prometheus.

Несколько IP или CIDR разделяются запятыми. (По умолчанию 127.0.0.1,::1)

-angie-status-prometheus-path <строка>#

Позволяет менять путь для публикации статистики Angie в формате Prometheus.

По умолчанию используется /p8s.

-angie-status-prometheus-port <int>#

Задает порт, на котором доступна статистика Angie в формате Prometheus.

Формат: [1024 - 65535] (по умолчанию 8083)

-default-server-tls-secret <строка>#

Секрет с сертификатом TLS и ключом для TLS-терминирования на сервере по умолчанию.

  • Если значение не задано, используются сертификат и ключ в файле /etc/angie/secrets/default.

  • Если /etc/angie/secrets/default не существует, ANIC настроит в Angie отклонение TLS-подключений к серверу по умолчанию.

  • Если секрет установлен, но ANIC не может получить его из API Kubernetes, или же не установлен, и ANIC не удается прочитать файл /etc/angie/secrets/default, то ANIC не запустится.

Формат: <пространство имен>/<имя>

-disable-ipv6#

Явно отключает прослушиватели IPV6 для узлов, которые не поддерживают стек IPV6.

По умолчанию false.

-enable-cert-manager#

Включает автоматическое управление сертификатами x509 для ресурсов VirtualServer с помощью cert-manager (cert-manager.io).

Требует -enable-custom-resources.

-enable-custom-resources#

Включает пользовательские ресурсы.

По умолчанию true.

-enable-external-dns#

Включает интеграцию с ExternalDNS для настройки общедоступных записей DNS у ресурсов VirtualServer с использованием ExternalDNS.

Требует наличия -enable-custom-resources.

-enable-jwt#

Включает функцию аутентификации JWT в ресурсах Policy.

По умолчанию false.

-enable-leader-election#

Позволяет выбирать лидера, чтобы избежать ситуации, когда несколько реплик контроллера сообщают о статусе ресурсов Ingress, VirtualServer и VirtualServerRoute; сообщать о статусе будет только одна реплика. По умолчанию true.

См. флаг -report-ingress-status.

-enable-oidc#

Включает функцию аутентификации по OpenID Connect в ресурсах Policy.

По умолчанию false.

-enable-prometheus-metrics#

Позволяет публиковать метрики Angie в формате Prometheus.

-enable-service-insight#

Публикует конечную точку Service Insight для ANIC.

-enable-snippets#

Включает пользовательские фрагменты конфигурации Angie в ресурсах Ingress, VirtualServer, VirtualServerRoute и TransportServer.

По умолчанию false.

-enable-tls-passthrough#

Включает сквозную передачу данных по протоколу TLS на порту 443.

Требует наличия -enable-custom-resources.

-external-service <строка>#

Указывает имя сервиса с типом LoadBalancer, через который поды ANIC делаются доступными извне. Внешний адрес сервиса используется для отчетов о состоянии ресурсов Ingress, VirtualServer и VirtualServerRoute.

Только для ресурсов Ingress: требует наличия -report-ingress-status.

-global-configuration <строка>#

Ресурс GlobalConfiguration для глобальной настройки ANIC.

Формат:<пространство имен>/<имя>

Требует наличия -enable-custom-resources.

-health-status#

Добавляет местоположение "/angie-health" к серверу по умолчанию. Местоположение отвечает кодом статуса 200 на любой запрос.

Это полезно для внешней проверки работоспособности ANIC.

-health-status-uri <строка>#

Задает URI местоположения проверки работоспособности на сервере по умолчанию. Требует наличия -health-status.

По умолчанию /angie-health.

-ingress-class <строка>#

Класс ANIC.

Должен быть развернут соответствующий ресурс IngressClass с именем, равным классу. В противном случае ANIC не запустится. ANIC обрабатывает только те ресурсы, которые принадлежат его классу, т. е. имеют ресурс поля ingressClassName, равный классу.

ANIC обрабатывает все ресурсы, у которых нет поля ingressClassName.

По умолчанию angie.

-ingress-template-path <строка>#

Путь к шаблону конфигурации Ingress Angie для ресурса Ingress. По умолчанию для Angie используется angie.ingress.tmpl.

-leader-election-lock-name <строка>#

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

Требует наличия -enable-leader-election.

-main-template-path <строка>#

Путь к основному шаблону конфигурации Angie.

  • По умолчанию для Angie используется angie.ingress.tmpl.

-prometheus-metrics-listen-port <int>#

Задает порт, на котором публикуются метрики Prometheus.

Формат: [1024 - 65535] (по умолчанию 9113)

-prometheus-tls-secret <строка>#

Секрет с сертификатом TLS и ключом для TLS-терминирования конечной точки метрик Prometheus.

  • Если аргумент не задан, конечная точка Prometheus не будет использовать TLS-соединение.

  • Если аргумент задан, но ANIC не может получить секрет из API Kubernetes, то ANIC не запустится.

-proxy <строка>#

Задает использование прокси-сервера для подключения к API Kubernetes, запускаемого командой "kubectl proxy". Только в целях тестирования.

ANIC не запускает Angie и не записывает на диск никакие сгенерированные файлы конфигурации Angie.

-ready-status#

Включает конечную точку готовности /angie-ready. Конечная точка возвращает код успеха, когда Angie загрузил всю конфигурацию после запуска.

По умолчанию true.

-ready-status-port#

HTTP-порт для конечной точки готовности.

Формат: [1024 - 65535] (по умолчанию 8081)

-report-ingress-status#

Обновляет поле адреса в статусе ресурсов Ingress.

Требуется флаг -external-service или -ingresslink, либо ключ external-status-address в ConfigMap.

-service-insight-listen-port <int>#

Задает порт, на котором публикуется Service Insight.

Формат: [1024 - 65535] (по умолчанию 9114)

-service-insight-tls-secret <строка>#

Секрет с сертификатом TLS и ключом для TLS-терминирования конечной точки Service Insight.

  • Если аргумент не задан, конечная точка Service Insight не будет использовать TLS-соединение.

  • Если аргумент задан, но ANIC не может получить секрет из API Kubernetes, то ANIC не запустится.

Формат: <пространство имен>/<имя>

-tls-passthrough-port <int>#

Задает порт для сквозной передачи данных по протоколу TLS. Формат: [1024 - 65535] (по умолчанию 443)

Требует включить -enable-custom-resources.

-transportserver-template-path <строка>#

Путь к шаблону конфигурации TransportServer Angie для ресурса TransportServer.

  • По умолчанию для Angie используетсяangie.transportserver.tmpl.

-v <значение>#

Уровень детализации записи логов. Значение по умолчанию — 1, при этом значении записывается минимальное количество логов. Значение 3 полезно для устранения неполадок.

-version#

Выводит версию, хэш git-коммита и дату сборки, затем завершает работу.

-virtualserver-template-path <строка>#

Путь к шаблону конфигурации VirtualServer Angie для ресурса VirtualServer.

  • По умолчанию для Angie используется angie.ingress.tmpl.

-vmodule <значение>#

Разделенный запятыми список параметров pattern=N для ведения журнала с фильтрацией файлов.

-watch-namespace <строка>#

Разделенный запятыми список пространств имен, за ресурсами которых должен следить ANIC. По умолчанию ANIC отслеживает все пространства имен. Нельзя использовать вместе с "watch-namespace-label".

-watch-namespace-label <строка>#

Настраивает в ANIC просмотр только пространств имен с меткой foo=bar. По умолчанию ANIC отслеживает все пространства имен. Нельзя использовать вместе с "watch-namespace".

-watch-secret-namespace <строка>#

Разделенный запятыми список пространств имен, за которыми ANIC должен следить на предмет наличия секретов. Если этот параметр не настроен, ANIC отслеживает одни и те же пространства имен для всех ресурсов. См. также "watch-namespace" и "watch-namespace-label".

-wildcard-tls-secret <строка>#

Секрет с сертификатом TLS и ключом для TLS-терминирования каждого узла Ingress или VirtualServer, для которого включено TLS-терминирование, но секрет не указан.

  • Если аргумент не задан, для таких узлов Ingress и VirtualServer Angie прервет любую попытку установить TLS-соединение.

  • Если аргумент задан, но ANIC не может получить секрет из API Kubernetes, то ANIC не запустится.

Формат: <пространство имен>/<имя>