Аргументы командной строки¶
ANIC поддерживает ряд аргументов командной строки. Способ указания этих аргументов зависит от того, как вы устанавливаете Ingress Controller:
Если вы используете манифесты Kubernetes (Deployment или DaemonSet) для установки ANIC, измените эти манифесты соответствующим образом, чтобы задать аргументы командной строки. См. документацию по установке с манифестами.
Если вы используете Helm для установки ANIC, измените параметры диаграммы Helm, соответствующие аргументам командной строки. См. документацию по установке с помощью Helm.
Ниже перечислены доступные аргументы командной строки:
-enable-snippets¶
Включает пользовательские фрагменты конфигурации Angie в ресурсах Ingress, VirtualServer, VirtualServerRoute и TransportServer.
По умолчанию false
.
-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
, то Ingress Controller не запустится.
Формат: <пространство имен>/<имя>
-wildcard-tls-secret <строка>
¶
Секрет с сертификатом TLS и ключом для TLS-терминирования каждого узла Ingress или VirtualServer, для которого включено TLS-терминирование, но секрет не указан.
Если аргумент не задан, для таких узлов Ingress и VirtualServer Angie прервет любую попытку установить TLS-соединение.
Если аргумент задан, но ANIC не может получить секрет из API Kubernetes, то ANIC не запустится.
Формат: <пространство имен>/<имя>
-enable-custom-resources¶
Включает пользовательские ресурсы.
По умолчанию true
.
-enable-leader-election¶
Позволяет выбирать лидера, чтобы избежать ситуации, когда несколько
реплик контроллера сообщают о статусе ресурсов Ingress, VirtualServer и
VirtualServerRoute; сообщать о статусе будет только одна реплика. По
умолчанию true
.
См. флаг -report-ingress-status.
-enable-tls-passthrough¶
Включает сквозную передачу данных по протоколу TLS на порту 443.
Требует наличия -enable-custom-resources.
-tls-passthrough-port <int>
¶
Задает порт для сквозной передачи данных по протоколу TLS. Формат:
[1024 - 65535]
(по умолчанию 443
)
Требует включить -enable-custom-resources.
-enable-cert-manager¶
Включает автоматическое управление сертификатами x509 для ресурсов VirtualServer с помощью cert-manager (cert-manager.io).
Требует -enable-custom-resources.
-enable-external-dns¶
Включает интеграцию с ExternalDNS для настройки общедоступных записей DNS у ресурсов VirtualServer с использованием ExternalDNS.
Требует наличия -enable-custom-resources.
-external-service <строка>
¶
Указывает имя сервиса с типом LoadBalancer, через который поды Ingress Controller делаются доступны извне. Внешний адрес сервиса используется для отчетов о состоянии ресурсов Ingress, VirtualServer и VirtualServerRoute.
Только для ресурсов Ingress: требует наличия -report-ingress-status.
-ingresslink <строка>
¶
Указывает имя ресурса IngressLink, через который предоставляется доступ к подам ANIC через систему BIG-IP. IP-адрес системы BIG-IP используется для отчетов о состоянии ресурсов 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
.
-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-port <int>
¶
Задает порт, на котором доступна статистика Angie в формате Prometheus.
Формат: [1024 - 65535]
(по умолчанию 8083
)
-angie-status-prometheus-allow-cidrs¶
Добавляет блоки IP/CIDR в список разрешений для статистики Angie в формате Prometheus.
Несколько IP или CIDR разделяются запятыми. (По умолчанию
127.0.0.1,::1
)
-proxy <строка>
¶
Задает использование прокси-сервера для подключения к API Kubernetes, запускаемого командой «kubectl proxy». Только в целях тестирования.
ANIC не запускает Angie и не записывает на диск никакие сгенерированные файлы конфигурации Angie.
-report-ingress-status¶
Обновляет поле адреса в статусе ресурсов Ingress.
Требуется флаг -external-service или
-ingresslink, либо ключ external-status-address
в ConfigMap.
-transportserver-template-path <строка>
¶
Путь к шаблону конфигурации TransportServer Angie для ресурса TransportServer.
По умолчанию для Angie используется
angie.transportserver.tmpl
.
-v<значение>
¶
Уровень ведения журнала для журналов V.
-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 <строка>
¶
Разделенный запятыми список пространств имен, за которыми Ingress Controller должен следить на предмет наличия секретов. Если этот параметр не настроен, ANIC отслеживает одни и те же пространства имен для всех ресурсов. См. также «watch-namespace» и «watch-namespace-label».
-enable-prometheus-metrics¶
Позволяет публиковать метрики Angie в формате Prometheus.
-prometheus-metrics-listen-port <int>
¶
Задает порт, на котором публикуются метрики Prometheus.
Формат: [1024 - 65535]
(по умолчанию 9113
)
-prometheus-tls-secret <строка>
¶
Секрет с сертификатом TLS и ключом для TLS-терминирования конечной точки метрик Prometheus.
Если аргумент не задан, конечная точка Prometheus не будет использовать TLS-соединение.
Если аргумент задан, но ANIC не может получить секрет из API Kubernetes, то ANIC не запустится.
-enable-service-insight¶
Публикует конечную точку Service Insight для ANIC.
-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 не запустится.
Формат: <пространство имен>/<имя>
-ready-status¶
Включает конечную точку готовности /angie-ready
. Конечная точка
возвращает код успеха, когда Angie загрузил всю конфигурацию после
запуска.
По умолчанию true
.
-ready-status-port¶
HTTP-порт для конечной точки готовности.
Формат: [1024 - 65535]
(по умолчанию 8081
)
-disable-ipv6¶
Явно отключает прослушиватели IPV6 для узлов, которые не поддерживают стек IPV6.
По умолчанию false
.