Deckhouse Kubernetes Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.
Стадия жизненного цикла модуля: General Availability
EgressGatewayPolicy
Scope: Cluster
Version: v1alpha1
Интерфейс для настройки политик перенаправления прикладного трафика на определённые egress-шлюзы, описанные через интерфейс EgressGateway.
- объектspec
Обязательный параметр
- массив строкspec.destinationCIDRs
Доступно в редакциях: SE+, EE
Сетевые запросы в сторону данных подсетей будут маршрутизированы через egress-шлюз.
- строкаspec.egressGatewayName
Обязательный параметр
Доступно в редакциях: SE+, EE
Имя ресурса EgressGateway, в котором описан egress-шлюз для обработки трафика.
- массив строкspec.excludedCIDRs
Доступно в редакциях: SE+, EE
Сетевые диапазоны, которые требуется исключить из диапазонов, описанных в
destinationCIDRs. Обратите внимание, что исключать служебные диапазоны кластера (podSubnetCIDRиserviceSubnetCIDR) не требуется. - массив объектовspec.selectors
Доступно в редакциях: SE+, EE
Селекторы прикладных подов. Их трафик будет маршрутизирован через соответствующий egress-шлюз. Для обозначения namespace используйте псевдо-лейбл
io.kubernetes.pod.namespace.- объектspec.selectors.podSelector
Обязательный параметр
Доступно в редакциях: SE+, EE
Настройка фильтра лейблов по ресурсам.
Если указаны одновременно
matchExpressionsиmatchLabels, учитываются оба фильтра (операцияИ).Пустое значение
labelSelectorсоответствует всем объектам. Нулевое — никаким.- массив объектовspec.selectors.podSelector.matchExpressions
Доступно в редакциях: SE+, EE
Список фильтров на основе выражений.
Итоговый результат — результат пересечения множеств, определяемых всеми фильтрами в списке (операция
И).Фильтр на основе выражения.
- строкаspec.selectors.podSelector.matchExpressions.key
Обязательный параметр
Доступно в редакциях: SE+, EE
Имя лейбла.
- строкаspec.selectors.podSelector.matchExpressions.operator
Обязательный параметр
Доступно в редакциях: SE+, EE
Оператор сравнения.
- массив строкspec.selectors.podSelector.matchExpressions.values
Доступно в редакциях: SE+, EE
Значение лейбла.
- объектspec.selectors.podSelector.matchLabels
Доступно в редакциях: SE+, EE
Фильтр на основе совпадения/несовпадения лейблов.
- объектstatus
EgressGateway
Scope: Cluster
Version: v1alpha1
Интерфейс для настройки отказоустойчивого egress-шлюза на основе группы узлов.
Настроенные egress-шлюзы можно использовать в политиках исходящего трафика EgressGatewayPolicy.
- объектspec
- объектspec.nodeSelector
Доступно в редакциях: SE+, EE, CSE Lite (1.73), CSE Pro (1.73)
Селектор для группы узлов, которые будут осуществлять передачу сетевых запросов на внешние сервисы.
Среди данных узлов будут выявлены пригодные к работе и один из них будет назначен активным. Признаки пригодного узла:
- Узел в состоянии Ready.
- Узел не находится в состоянии технического обслуживания (cordon).
- cilium-agent на узле в состоянии Ready.
Разные EgressGateway могут использовать для работы общие узлы, при этом активные узлы будут выбираться независимо, тем самым распределяя нагрузку между ними.
- объектspec.sourceIP
- строкаspec.sourceIP.mode
Обязательный параметр
Доступно в редакциях: SE+, EE, CSE Lite (1.73), CSE Pro (1.73)
Метод определения исходящего IP-адреса, который будет назначен на исходящие запросы через данный шлюз.
Возможны следующие варианты:
-
PrimaryIPFromEgressGatewayNodeInterface(базовый режим) — в качестве IP-адреса будет использоваться primary IP-адрес на публичном сетевом интерфейсе узла.Особенности:
- При выходе из строя активного узла и назначении нового, IP-адрес отправителя в сетевых пакетах поменяется.
- Предварительно необходимо настроить сетевую подсистему на всех egress-узлах:
- у публичных интерфейсов должно быть одинаковое имя (например, eth1),
- должны быть настроены все необходимые маршруты для доступа на все внешние публичные сервисы.
-
VirtualIPAddress(режим с Virtual IP) — явное указание исходящего IP-адреса.Особенности:
- При выходе из строя активного узла, IP-адрес отправителя в сетевых пакетах не поменяется.
- Предварительно необходимо настроить сетевую подсистему на всех egress-узлах:
- должны быть настроены все необходимые маршруты для доступа на все внешние публичные сервисы,
- публичный интерфейс должен быть подготовлен к автоматической настройке виртуального IP в качестве secondary IP-адреса (при назначении egress-узла в качестве активного, адрес не будет отображаться в списке IP на публичном интерфейсе, но при этом, узел будет эмулировать его наличие с помощью ARP-ответов).
Допустимые значения:
VirtualIPAddress,PrimaryIPFromEgressGatewayNodeInterface -
- объектspec.sourceIP.primaryIPFromEgressGatewayNodeInterface
Используется для базового режима (если
mode: PrimaryIPFromEgressGatewayNodeInterface).- строкаspec.sourceIP.primaryIPFromEgressGatewayNodeInterface.interfaceName
Доступно в редакциях: SE+, EE, CSE Lite (1.73), CSE Pro (1.73)
Имя интерфейса на egress-узлах, через который осуществляется доступ к внешним сервисам.
- объектspec.sourceIP.virtualIPAddress
Используется для режима Virtual IP (если
mode: VirtualIPAddress).- массив строкspec.sourceIP.virtualIPAddress.interfaces
Доступно в редакциях: SE+, EE, CSE Lite (1.73), CSE Pro (1.73)
Список сетевых интерфейсов, на которых будет осуществляться имитация виртуального IP-адреса.
По умолчанию:
[] - строкаspec.sourceIP.virtualIPAddress.ip
Доступно в редакциях: SE+, EE, CSE Lite (1.73), CSE Pro (1.73)
Виртуальный IP-адрес, который будет назначен на исходящие запросы через egress-шлюз.
- объектstatus
- строкаstatus.activeNodeName
Имя активного в данный момент узла.
- массив объектовstatus.conditions
- строкаstatus.conditions.lastHeartbeatTime
- строкаstatus.conditions.lastTransitionTime
Обязательный параметр
lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- строкаstatus.conditions.message
Обязательный параметр
message is a human readable message indicating details about the transition. This may be an empty string.
Максимальная длина:
32768 - целочисленныйstatus.conditions.observedGeneration
observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Допустимые значения:
0 <= X - строкаstatus.conditions.reason
Обязательный параметр
reason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$Длина:
1..1024 - строкаstatus.conditions.status
Обязательный параметр
status of the condition, one of True, False, Unknown.
Допустимые значения:
True,False,Unknown - строкаstatus.conditions.type
Обязательный параметр
Type of condition in CamelCase or in foo.example.com/CamelCase.
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$Максимальная длина:
316
- целочисленныйstatus.observedGeneration
- целочисленныйstatus.readyNodes
Количество узлов, готовых осуществлять функции egress-шлюза.
HubbleMonitoringConfig
Scope: Cluster
Version: v1alpha1
- объектspec
Обязательный параметр
- объектspec.extendedMetrics
Конфигурация для экспорта расширенных метрик с агентов Cilium.
Расширенные метрики позволяют получить более глубокое понимание поведения сети кластера.
Внимание. Изменение этого параметра приведет к перезапуску агентов Cilium.
Для получения дополнительной информации смотрите документацию Cilium.
Пример:
extendedMetrics: enabled: true collectors: - name: drop contextOptions: labelsContext=source_ip,source_namespace,source_pod,destination_ip,destination_namespace,destination_pod - name: flow- массив объектовspec.extendedMetrics.collectors
Список расширенных метрик Hubble для экспорта.
Каждый коллектор представляет собой определённый тип метрики.
Для получения дополнительной информации смотрите документацию Cilium.
Пример:
collectors: - name: drop contextOptions: labelsContext=source_ip,source_namespace,source_pod,destination_ip,destination_namespace,destination_pod - name: flow- строкаspec.extendedMetrics.collectors.contextOptions
Необязательные параметры контекста для метрик Hubble.
Определяет, по каким параметрам будут детализироваться метрики, которые формирует коллектор. Если не указать
contextOptions, коллектор вернёт набор метрик по умолчанию, агрегированный в целом, без разбивки по отдельным параметрам. Например, для коллектораdropпустойcontextOptionsвернёт общую статистику дропов без различения конкретного источника и назначения. Если задатьcontextOptions, значения метрик будут группироваться по выбранным измерениям, например по Pod-ам источника и назначения, namespace и лейблам.Внимание. Большое количество лейблов в метриках может привести к снижению производительности Prometheus.
Для получения дополнительной информации о поддерживаемых параметрах смотрите документацию Cilium.
- строкаspec.extendedMetrics.collectors.name
Название расширенной метрики для экспорта.
Допустимые значения:
dns,drop,flow,flows-to-world,http,httpV2,icmp,kafka,tcp
- булевыйspec.extendedMetrics.enabled
Включает экспорт расширенных метрик с агентов Cilium.
По умолчанию:
false
- объектspec.flowLogs
Конфигурация для экспорта журналов событий с агентов Cilium.
Журналы событий предоставляют детальную информацию о сетевых событиях Cilium.
Внимание. Изменение этого параметра приведет к перезапуску агентов Cilium.
Для получения дополнительной информации смотрите документацию Cilium.
Пример:
flowLogs: enabled: true allowFilterList: - verdict: - DROPPED - ERROR denyFilterList: - source_pod: - kube-system/ - destination_pod: - kube-system/ fieldMaskList: - time - source.namespace - verdict fileMaxSizeMB: 50- массив объектовspec.flowLogs.allowFilterList
Определяет фильтры, которые управляют тем, какие события экспортируются в лог. Экспортируются только события, которые соответствуют хотя бы одному из указанных объектов фильтра. Если фильтры не заданы, разрешены все события. Логическая семантика: - Внутри одного объекта фильтра все указанные поля объединяются по AND. - Между объектами фильтра в массиве фильтры объединяются по OR. Для получения дополнительной информации смотрите документацию Cilium.
- массив строкspec.flowLogs.allowFilterList.destination_cluster_name
Имена кластеров назначения.
- массив строкspec.flowLogs.allowFilterList.destination_fqdn
Полные доменные имена (FQDN) назначения.
- строкаЭлемент массива
Максимальная длина:
255
- массив целых чиселspec.flowLogs.allowFilterList.destination_identity
Идентификатор безопасности (security identity) назначения.
- целочисленныйЭлемент массива
Допустимые значения:
0 <= X <= 4294967295
- массив строкspec.flowLogs.allowFilterList.destination_ip
IP-адрес или CIDR назначения.
- массив строкspec.flowLogs.allowFilterList.destination_label
Селекторы лейблов назначения.
Для получения дополнительной информации смотрите документацию Cilium.
Примеры:
destination_label: k8s:role=frontenddestination_label: reserved:kube-apiserver - массив строкspec.flowLogs.allowFilterList.destination_pod
Имена подов назначения в формате NamespacedName (
namespace/pod).Примеры:
destination_pod: kube-system/d8-kube-dns-7bc4648cb4-94tpsdestination_pod: kube-system/destination_pod: "/d8-kube-dns-7bc4648cb4-94tps" - массив строкspec.flowLogs.allowFilterList.destination_port
Порт L4 назначения.
- строкаЭлемент массива
Шаблон:
^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$
- массив строкspec.flowLogs.allowFilterList.destination_service
Имена сервисов назначения в формате NamespacedName (
namespace/service).Примеры:
destination_service: kube-system/kube-dnsdestination_service: kube-system/destination_service: "/kube-dns" - массив объектовspec.flowLogs.allowFilterList.destination_workload
Нагрузки назначения.
- строкаspec.flowLogs.allowFilterList.destination_workload.kind
Тип нагрузки.
- строкаspec.flowLogs.allowFilterList.destination_workload.name
Имя нагрузки.
- массив строкspec.flowLogs.allowFilterList.dns_query
Шаблоны регулярных выражений для DNS-запросов.
- массив строкspec.flowLogs.allowFilterList.drop_reason_desc
Описание причины отброса трафика (только для вердикта DROPPED).
- строкаЭлемент массива
Допустимые значения:
DROP_REASON_UNKNOWN,INVALID_SOURCE_MAC,INVALID_DESTINATION_MAC,INVALID_SOURCE_IP,POLICY_DENIED,INVALID_PACKET_DROPPED,CT_TRUNCATED_OR_INVALID_HEADER,CT_MISSING_TCP_ACK_FLAG,CT_UNKNOWN_L4_PROTOCOL,CT_CANNOT_CREATE_ENTRY_FROM_PACKET,UNSUPPORTED_L3_PROTOCOL,MISSED_TAIL_CALL,ERROR_WRITING_TO_PACKET,UNKNOWN_L4_PROTOCOL,UNKNOWN_ICMPV4_CODE,UNKNOWN_ICMPV4_TYPE,UNKNOWN_ICMPV6_CODE,UNKNOWN_ICMPV6_TYPE,ERROR_RETRIEVING_TUNNEL_KEY,ERROR_RETRIEVING_TUNNEL_OPTIONS,INVALID_GENEVE_OPTION,UNKNOWN_L3_TARGET_ADDRESS,STALE_OR_UNROUTABLE_IP,NO_MATCHING_LOCAL_CONTAINER_FOUND,ERROR_WHILE_CORRECTING_L3_CHECKSUM,ERROR_WHILE_CORRECTING_L4_CHECKSUM,CT_MAP_INSERTION_FAILED,INVALID_IPV6_EXTENSION_HEADER,IP_FRAGMENTATION_NOT_SUPPORTED,SERVICE_BACKEND_NOT_FOUND,NO_TUNNEL_OR_ENCAPSULATION_ENDPOINT,FAILED_TO_INSERT_INTO_PROXYMAP,REACHED_EDT_RATE_LIMITING_DROP_HORIZON,UNKNOWN_CONNECTION_TRACKING_STATE,LOCAL_HOST_IS_UNREACHABLE,NO_CONFIGURATION_AVAILABLE_TO_PERFORM_POLICY_DECISION,UNSUPPORTED_L2_PROTOCOL,NO_MAPPING_FOR_NAT_MASQUERADE,UNSUPPORTED_PROTOCOL_FOR_NAT_MASQUERADE,FIB_LOOKUP_FAILED,ENCAPSULATION_TRAFFIC_IS_PROHIBITED,INVALID_IDENTITY,UNKNOWN_SENDER,NAT_NOT_NEEDED,IS_A_CLUSTERIP,FIRST_LOGICAL_DATAGRAM_FRAGMENT_NOT_FOUND,FORBIDDEN_ICMPV6_MESSAGE,DENIED_BY_LB_SRC_RANGE_CHECK,SOCKET_LOOKUP_FAILED,SOCKET_ASSIGN_FAILED,PROXY_REDIRECTION_NOT_SUPPORTED_FOR_PROTOCOL,POLICY_DENY,VLAN_FILTERED,INVALID_VNI,INVALID_TC_BUFFER,NO_SID,MISSING_SRV6_STATE,NAT46,NAT64,AUTH_REQUIRED,CT_NO_MAP_FOUND,SNAT_NO_MAP_FOUND,INVALID_CLUSTER_ID,UNSUPPORTED_PROTOCOL_FOR_DSR_ENCAP,NO_EGRESS_GATEWAY,UNENCRYPTED_TRAFFIC,TTL_EXCEEDED,NO_NODE_ID,DROP_RATE_LIMITED,IGMP_HANDLED,IGMP_SUBSCRIBED,MULTICAST_HANDLED,DROP_HOST_NOT_READY,DROP_EP_NOT_READY,DROP_NO_EGRESS_IP
- массив объектовspec.flowLogs.allowFilterList.event_type
Типы событий для фильтрации.
- булевыйspec.flowLogs.allowFilterList.event_type.match_sub_type
Нужно ли сопоставлять также
sub_type. - целочисленныйspec.flowLogs.allowFilterList.event_type.sub_type
Вторичный тип события.
- целочисленныйspec.flowLogs.allowFilterList.event_type.type
Основной тип события.
- массив объектовspec.flowLogs.allowFilterList.http_header
HTTP-заголовки для сопоставления.
- строкаspec.flowLogs.allowFilterList.http_header.key
Ключ заголовка.
- строкаspec.flowLogs.allowFilterList.http_header.value
Значение заголовка.
- массив строкspec.flowLogs.allowFilterList.http_method
HTTP-методы.
- строкаЭлемент массива
Допустимые значения:
GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH
- массив строкspec.flowLogs.allowFilterList.http_path
Список регулярных выражений для сопоставления с HTTP-путем.
- массив строкspec.flowLogs.allowFilterList.http_status_code
Префиксы HTTP-кодов ответа.
- строкаЭлемент массива
Шаблон:
^(?:[1-5]\+|[1-5][0-9]\+|[1-5][0-9]{2})$
- массив строкspec.flowLogs.allowFilterList.http_url
Список регулярных выражений для сопоставления с HTTP-адресом.
- массив объектовspec.flowLogs.allowFilterList.interface
Сетевой интерфейс, на котором был замечен поток.
- целочисленныйspec.flowLogs.allowFilterList.interface.index
Индекс интерфейса.
Допустимые значения:
0 <= X - строкаspec.flowLogs.allowFilterList.interface.name
Имя интерфейса.
- массив строкspec.flowLogs.allowFilterList.ip_version
Версия IP.
- строкаЭлемент массива
Допустимые значения:
IP_NOT_USED,IPv4,IPv6
- массив строкspec.flowLogs.allowFilterList.node_labels
Селекторы лейблов узлов.
Примеры:
node_labels: node-role.kubernetes.io/control-plane=node_labels: topology.kubernetes.io/ru-central1-a - массив строкspec.flowLogs.allowFilterList.node_name
Шаблоны имён узлов.
- массив строкspec.flowLogs.allowFilterList.protocol
Протокол L4 или L7.
- массив строкspec.flowLogs.allowFilterList.source_cluster_name
Имена кластеров источника.
- массив строкspec.flowLogs.allowFilterList.source_fqdn
Полные доменные имена (FQDN) источника.
- строкаЭлемент массива
Максимальная длина:
255
- массив целых чиселspec.flowLogs.allowFilterList.source_identity
Идентификатор безопасности (security identity) источника.
- целочисленныйЭлемент массива
Допустимые значения:
0 <= X <= 4294967295
- массив строкspec.flowLogs.allowFilterList.source_ip
IP-адрес или CIDR источника.
- массив строкspec.flowLogs.allowFilterList.source_ip_xlated
IP-адрес или CIDR источника после трансляции (SNAT).
- массив строкspec.flowLogs.allowFilterList.source_label
Селекторы лейблов источника.
Для получения дополнительной информации смотрите документацию Cilium.
Примеры:
source_label: k8s:role=frontendsource_label: reserved:kube-apiserver - массив строкspec.flowLogs.allowFilterList.source_pod
Префиксы имён подов источника в формате NamespacedName (
namespace/pod).Примеры:
source_pod: kube-system/d8-kube-dns-7bc4648cb4-94tpssource_pod: kube-system/source_pod: "/d8-kube-dns-7bc4648cb4-94tps" - массив строкspec.flowLogs.allowFilterList.source_port
Порт L4 источника.
- строкаЭлемент массива
Шаблон:
^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$
- массив строкspec.flowLogs.allowFilterList.source_service
Имена сервисов источника в формате NamespacedName (
namespace/service).Примеры:
source_service: kube-system/kube-dnssource_service: kube-system/source_service: "/kube-dns" - массив объектовspec.flowLogs.allowFilterList.source_workload
Нагрузки источника.
- строкаspec.flowLogs.allowFilterList.source_workload.kind
Тип нагрузки.
- строкаspec.flowLogs.allowFilterList.source_workload.name
Имя нагрузки.
- массив объектовspec.flowLogs.allowFilterList.tcp_flags
TCP-флаги для сопоставления.
- булевыйspec.flowLogs.allowFilterList.tcp_flags.ACK
- булевыйspec.flowLogs.allowFilterList.tcp_flags.CWR
- булевыйspec.flowLogs.allowFilterList.tcp_flags.ECE
- булевыйspec.flowLogs.allowFilterList.tcp_flags.FIN
- булевыйspec.flowLogs.allowFilterList.tcp_flags.NS
- булевыйspec.flowLogs.allowFilterList.tcp_flags.PSH
- булевыйspec.flowLogs.allowFilterList.tcp_flags.RST
- булевыйspec.flowLogs.allowFilterList.tcp_flags.SYN
- булевыйspec.flowLogs.allowFilterList.tcp_flags.URG
- массив строкspec.flowLogs.allowFilterList.trace_id
ID трассировки.
- массив строкspec.flowLogs.allowFilterList.traffic_direction
Направление трафика.
- строкаЭлемент массива
Допустимые значения:
TRAFFIC_DIRECTION_UNKNOWN,INGRESS,EGRESS
- массив строкspec.flowLogs.allowFilterList.uuid
Фильтрация по UUID потоков (flow UUID).
- массив строкspec.flowLogs.allowFilterList.verdict
Сопоставление по вердикту.
- строкаЭлемент массива
Допустимые значения:
VERDICT_UNKNOWN,FORWARDED,DROPPED,ERROR,AUDIT,REDIRECTED,TRACED,TRANSLATED
- массив объектовspec.flowLogs.denyFilterList
Определяет фильтры, которые управляют тем, какие события явно исключаются из логирования. Любое событие, которое соответствует хотя бы одному из указанных объектов фильтра, будет запрещено к экспорту. Если фильтры не заданы, ничего не исключается. Логическая семантика: - Внутри одного объекта фильтра все указанные поля объединяются по AND. - Между объектами фильтра в массиве фильтры объединяются по OR. Для получения дополнительной информации смотрите документацию Cilium.
- массив строкspec.flowLogs.denyFilterList.destination_cluster_name
Имена кластеров назначения.
- массив строкspec.flowLogs.denyFilterList.destination_fqdn
Полные доменные имена (FQDN) назначения.
- строкаЭлемент массива
Максимальная длина:
255
- массив целых чиселspec.flowLogs.denyFilterList.destination_identity
Идентификатор безопасности (security identity) назначения.
- целочисленныйЭлемент массива
Допустимые значения:
0 <= X <= 4294967295
- массив строкspec.flowLogs.denyFilterList.destination_ip
IP-адрес или CIDR назначения.
- массив строкspec.flowLogs.denyFilterList.destination_label
Селекторы лейблов назначения.
Для получения дополнительной информации смотрите документацию Cilium.
Примеры:
destination_label: k8s:role=frontenddestination_label: reserved:kube-apiserver - массив строкspec.flowLogs.denyFilterList.destination_pod
Имена подов назначения в формате NamespacedName (
namespace/pod).Примеры:
destination_pod: kube-system/d8-kube-dns-7bc4648cb4-94tpsdestination_pod: kube-system/destination_pod: "/d8-kube-dns-7bc4648cb4-94tps" - массив строкspec.flowLogs.denyFilterList.destination_port
Порт L4 назначения.
- строкаЭлемент массива
Шаблон:
^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$
- массив строкspec.flowLogs.denyFilterList.destination_service
Имена сервисов назначения в формате NamespacedName (
namespace/service).Примеры:
destination_service: kube-system/kube-dnsdestination_service: kube-system/destination_service: "/kube-dns" - массив объектовspec.flowLogs.denyFilterList.destination_workload
Нагрузки назначения.
- строкаspec.flowLogs.denyFilterList.destination_workload.kind
Тип нагрузки.
- строкаspec.flowLogs.denyFilterList.destination_workload.name
Имя нагрузки.
- массив строкspec.flowLogs.denyFilterList.dns_query
Шаблоны регулярных выражений для DNS-запросов.
- массив строкspec.flowLogs.denyFilterList.drop_reason_desc
Описание причины отброса трафика (только для вердикта DROPPED).
- строкаЭлемент массива
Допустимые значения:
DROP_REASON_UNKNOWN,INVALID_SOURCE_MAC,INVALID_DESTINATION_MAC,INVALID_SOURCE_IP,POLICY_DENIED,INVALID_PACKET_DROPPED,CT_TRUNCATED_OR_INVALID_HEADER,CT_MISSING_TCP_ACK_FLAG,CT_UNKNOWN_L4_PROTOCOL,CT_CANNOT_CREATE_ENTRY_FROM_PACKET,UNSUPPORTED_L3_PROTOCOL,MISSED_TAIL_CALL,ERROR_WRITING_TO_PACKET,UNKNOWN_L4_PROTOCOL,UNKNOWN_ICMPV4_CODE,UNKNOWN_ICMPV4_TYPE,UNKNOWN_ICMPV6_CODE,UNKNOWN_ICMPV6_TYPE,ERROR_RETRIEVING_TUNNEL_KEY,ERROR_RETRIEVING_TUNNEL_OPTIONS,INVALID_GENEVE_OPTION,UNKNOWN_L3_TARGET_ADDRESS,STALE_OR_UNROUTABLE_IP,NO_MATCHING_LOCAL_CONTAINER_FOUND,ERROR_WHILE_CORRECTING_L3_CHECKSUM,ERROR_WHILE_CORRECTING_L4_CHECKSUM,CT_MAP_INSERTION_FAILED,INVALID_IPV6_EXTENSION_HEADER,IP_FRAGMENTATION_NOT_SUPPORTED,SERVICE_BACKEND_NOT_FOUND,NO_TUNNEL_OR_ENCAPSULATION_ENDPOINT,FAILED_TO_INSERT_INTO_PROXYMAP,REACHED_EDT_RATE_LIMITING_DROP_HORIZON,UNKNOWN_CONNECTION_TRACKING_STATE,LOCAL_HOST_IS_UNREACHABLE,NO_CONFIGURATION_AVAILABLE_TO_PERFORM_POLICY_DECISION,UNSUPPORTED_L2_PROTOCOL,NO_MAPPING_FOR_NAT_MASQUERADE,UNSUPPORTED_PROTOCOL_FOR_NAT_MASQUERADE,FIB_LOOKUP_FAILED,ENCAPSULATION_TRAFFIC_IS_PROHIBITED,INVALID_IDENTITY,UNKNOWN_SENDER,NAT_NOT_NEEDED,IS_A_CLUSTERIP,FIRST_LOGICAL_DATAGRAM_FRAGMENT_NOT_FOUND,FORBIDDEN_ICMPV6_MESSAGE,DENIED_BY_LB_SRC_RANGE_CHECK,SOCKET_LOOKUP_FAILED,SOCKET_ASSIGN_FAILED,PROXY_REDIRECTION_NOT_SUPPORTED_FOR_PROTOCOL,POLICY_DENY,VLAN_FILTERED,INVALID_VNI,INVALID_TC_BUFFER,NO_SID,MISSING_SRV6_STATE,NAT46,NAT64,AUTH_REQUIRED,CT_NO_MAP_FOUND,SNAT_NO_MAP_FOUND,INVALID_CLUSTER_ID,UNSUPPORTED_PROTOCOL_FOR_DSR_ENCAP,NO_EGRESS_GATEWAY,UNENCRYPTED_TRAFFIC,TTL_EXCEEDED,NO_NODE_ID,DROP_RATE_LIMITED,IGMP_HANDLED,IGMP_SUBSCRIBED,MULTICAST_HANDLED,DROP_HOST_NOT_READY,DROP_EP_NOT_READY,DROP_NO_EGRESS_IP
- массив объектовspec.flowLogs.denyFilterList.event_type
Типы событий для фильтрации.
- булевыйspec.flowLogs.denyFilterList.event_type.match_sub_type
Нужно ли сопоставлять также
sub_type. - целочисленныйspec.flowLogs.denyFilterList.event_type.sub_type
Вторичный тип события.
- целочисленныйspec.flowLogs.denyFilterList.event_type.type
Основной тип события.
- массив объектовspec.flowLogs.denyFilterList.http_header
HTTP-заголовки для сопоставления.
- строкаspec.flowLogs.denyFilterList.http_header.key
Ключ заголовка.
- строкаspec.flowLogs.denyFilterList.http_header.value
Значение заголовка.
- массив строкspec.flowLogs.denyFilterList.http_method
HTTP-методы.
- строкаЭлемент массива
Допустимые значения:
GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH
- массив строкspec.flowLogs.denyFilterList.http_path
Список регулярных выражений для сопоставления с HTTP-путем.
- массив строкspec.flowLogs.denyFilterList.http_status_code
Префиксы HTTP-кодов ответа.
- строкаЭлемент массива
Шаблон:
^(?:[1-5]\+|[1-5][0-9]\+|[1-5][0-9]{2})$
- массив строкspec.flowLogs.denyFilterList.http_url
Список регулярных выражений для сопоставления с HTTP-адресом.
- массив объектовspec.flowLogs.denyFilterList.interface
Сетевой интерфейс, на котором был замечен поток.
- целочисленныйspec.flowLogs.denyFilterList.interface.index
Индекс интерфейса.
Допустимые значения:
0 <= X - строкаspec.flowLogs.denyFilterList.interface.name
Имя интерфейса.
- массив строкspec.flowLogs.denyFilterList.ip_version
Версия IP.
- строкаЭлемент массива
Допустимые значения:
IP_NOT_USED,IPv4,IPv6
- массив строкspec.flowLogs.denyFilterList.node_labels
Селекторы лейблов узлов.
Примеры:
node_labels: node-role.kubernetes.io/control-plane=node_labels: topology.kubernetes.io/ru-central1-a - массив строкspec.flowLogs.denyFilterList.node_name
Шаблоны имён узлов.
- массив строкspec.flowLogs.denyFilterList.protocol
Протокол L4 или L7.
- массив строкspec.flowLogs.denyFilterList.source_cluster_name
Имена кластеров источника.
- массив строкspec.flowLogs.denyFilterList.source_fqdn
Полные доменные имена (FQDN) источника.
- строкаЭлемент массива
Максимальная длина:
255
- массив целых чиселspec.flowLogs.denyFilterList.source_identity
Идентификатор безопасности (security identity) источника.
- целочисленныйЭлемент массива
Допустимые значения:
0 <= X <= 4294967295
- массив строкspec.flowLogs.denyFilterList.source_ip
IP-адрес или CIDR источника.
- массив строкspec.flowLogs.denyFilterList.source_ip_xlated
IP-адрес или CIDR источника после трансляции (SNAT).
- массив строкspec.flowLogs.denyFilterList.source_label
Селекторы лейблов источника.
Для получения дополнительной информации смотрите документацию Cilium.
Примеры:
source_label: k8s:role=frontendsource_label: reserved:kube-apiserver - массив строкspec.flowLogs.denyFilterList.source_pod
Префиксы имён подов источника в формате NamespacedName (
namespace/pod).Примеры:
source_pod: kube-system/d8-kube-dns-7bc4648cb4-94tpssource_pod: kube-system/source_pod: "/d8-kube-dns-7bc4648cb4-94tps" - массив строкspec.flowLogs.denyFilterList.source_port
Порт L4 источника.
- строкаЭлемент массива
Шаблон:
^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$
- массив строкspec.flowLogs.denyFilterList.source_service
Имена сервисов источника в формате NamespacedName (
namespace/service).Примеры:
source_service: kube-system/kube-dnssource_service: kube-system/source_service: "/kube-dns" - массив объектовspec.flowLogs.denyFilterList.source_workload
Нагрузки источника.
- строкаspec.flowLogs.denyFilterList.source_workload.kind
Тип нагрузки.
- строкаspec.flowLogs.denyFilterList.source_workload.name
Имя нагрузки.
- массив объектовspec.flowLogs.denyFilterList.tcp_flags
TCP-флаги для сопоставления.
- булевыйspec.flowLogs.denyFilterList.tcp_flags.ACK
- булевыйspec.flowLogs.denyFilterList.tcp_flags.CWR
- булевыйspec.flowLogs.denyFilterList.tcp_flags.ECE
- булевыйspec.flowLogs.denyFilterList.tcp_flags.FIN
- булевыйspec.flowLogs.denyFilterList.tcp_flags.NS
- булевыйspec.flowLogs.denyFilterList.tcp_flags.PSH
- булевыйspec.flowLogs.denyFilterList.tcp_flags.RST
- булевыйspec.flowLogs.denyFilterList.tcp_flags.SYN
- булевыйspec.flowLogs.denyFilterList.tcp_flags.URG
- массив строкspec.flowLogs.denyFilterList.trace_id
ID трассировки.
- массив строкspec.flowLogs.denyFilterList.traffic_direction
Направление трафика.
- строкаЭлемент массива
Допустимые значения:
TRAFFIC_DIRECTION_UNKNOWN,INGRESS,EGRESS
- массив строкspec.flowLogs.denyFilterList.uuid
Фильтрация по UUID потоков (flow UUID).
- массив строкspec.flowLogs.denyFilterList.verdict
Сопоставление по вердикту.
- строкаЭлемент массива
Допустимые значения:
VERDICT_UNKNOWN,FORWARDED,DROPPED,ERROR,AUDIT,REDIRECTED,TRACED,TRANSLATED
- булевыйspec.flowLogs.enabled
Включает ведение журналов событий для агентов Cilium.
Файл журнала расположен на файловой системе узла по пути
/var/log/cilium/hubble/flow.log.По умолчанию:
false - массив строкspec.flowLogs.fieldMaskList
Список полей, которые должны отображаться в событиях.
Для получения дополнительной информации смотрите документацию Cilium.
- строкаЭлемент массива
Допустимые значения:
time,uuid,verdict,drop_reason_desc,auth_type,ethernet,ethernet.source,ethernet.destination,IP,IP.source,IP.source_xlated,IP.destination,IP.ipVersion,IP.encrypted,l4,l4.TCP,l4.TCP.source_port,l4.TCP.destination_port,l4.TCP.flags,l4.TCP.flags.FIN,l4.TCP.flags.SYN,l4.TCP.flags.RST,l4.TCP.flags.PSH,l4.TCP.flags.ACK,l4.TCP.flags.URG,l4.TCP.flags.ECE,l4.TCP.flags.CWR,l4.TCP.flags.NS,l4.UDP,l4.UDP.source_port,l4.UDP.destination_port,l4.ICMPv4,l4.ICMPv4.type,l4.ICMPv4.code,l4.ICMPv6,l4.ICMPv6.type,l4.ICMPv6.code,l4.SCTP,l4.SCTP.source_port,l4.SCTP.destination_port,source,source.ID,source.identity,source.cluster_name,source.namespace,source.labels,source.pod_name,source.workloads,source.workloads.name,source.workloads.kind,destination,destination.ID,destination.identity,destination.cluster_name,destination.namespace,destination.labels,destination.pod_name,destination.workloads,destination.workloads.name,destination.workloads.kind,Type,node_name,node_labels,source_names,destination_names,l7,l7.type,l7.latency_ns,l7.record,l7.record.dns,l7.record.dns.query,l7.record.dns.ips,l7.record.dns.ttl,l7.record.dns.cnames,l7.record.dns.observation_source,l7.record.dns.rcode,l7.record.dns.qtypes,l7.record.dns.rrtypes,l7.record.http,l7.record.http.code,l7.record.http.method,l7.record.http.url,l7.record.http.protocol,l7.record.http.headers,l7.record.http.headers.key,l7.record.http.headers.value,l7.record.kafka,l7.record.kafka.error_code,l7.record.kafka.api_version,l7.record.kafka.api_key,l7.record.kafka.correlation_id,l7.record.kafka.topic,is_reply,event_type,event_type.type,event_type.sub_type,traffic_direction,trace_observation_point,trace_reason,file,file.name,file.line,debug_capture_point,interface,interface.index,interface.name,proxy_port,trace_context,trace_context.parent,trace_context.parent.trace_id,sock_xlate_point,socket_cookie,cgroup_id,extensions,egress_allowed_by,egress_allowed_by.name,egress_allowed_by.namespace,egress_allowed_by.labels,egress_allowed_by.revision,egress_allowed_by.kind,ingress_allowed_by,ingress_allowed_by.name,ingress_allowed_by.namespace,ingress_allowed_by.labels,ingress_allowed_by.revision,ingress_allowed_by.kind,egress_denied_by,egress_denied_by.name,egress_denied_by.namespace,egress_denied_by.labels,egress_denied_by.revision,egress_denied_by.kind,ingress_denied_by,ingress_denied_by.name,ingress_denied_by.namespace,ingress_denied_by.labels,ingress_denied_by.revision,ingress_denied_by.kind,source_service,source_service.name,source_service.namespace,destination_service,destination_service.name,destination_service.namespace
- целочисленныйspec.flowLogs.fileMaxSizeMB
Размер в МБ, при достижении которого будет выполняться ротация файла экспорта Hubble.
По умолчанию:
10Допустимые значения:
1 <= X <= 150