Аргументы командной строки#
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
.
-ingresslink <строка>
#
Указывает имя ресурса IngressLink, через который предоставляется доступ к подам ANIC через систему BIG-IP. IP-адрес системы BIG-IP используется для отчетов о состоянии ресурсов Ingress, VirtualServer и VirtualServerRoute.
Только для ресурсов Ingress: требует наличия -report-ingress-status.
-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 не запустится.
Формат: <пространство имен>/<имя>