<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%9A%D0%BB%D1%8E%D1%87-%D0%90%D0%A1%D0%A2%D0%A0%D0%9E%D0%9C_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5_%D1%81_Istio</id>
	<title>Развертывание Ключ-АСТРОМ вместе с Istio - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%9A%D0%BB%D1%8E%D1%87-%D0%90%D0%A1%D0%A2%D0%A0%D0%9E%D0%9C_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5_%D1%81_Istio"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%9A%D0%BB%D1%8E%D1%87-%D0%90%D0%A1%D0%A2%D0%A0%D0%9E%D0%9C_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5_%D1%81_Istio&amp;action=history"/>
	<updated>2026-09-16T14:26:36Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%9A%D0%BB%D1%8E%D1%87-%D0%90%D0%A1%D0%A2%D0%A0%D0%9E%D0%9C_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5_%D1%81_Istio&amp;diff=5953&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «В этом руководстве объясняется, как развернуть компоненты Ключ-АСТРОМ вместе с &#039;&#039;&#039;Istio&#039;&#039;&#039;. Р...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%9A%D0%BB%D1%8E%D1%87-%D0%90%D0%A1%D0%A2%D0%A0%D0%9E%D0%9C_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5_%D1%81_Istio&amp;diff=5953&amp;oldid=prev"/>
		<updated>2025-11-19T16:03:14Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «В этом руководстве объясняется, как развернуть компоненты Ключ-АСТРОМ вместе с &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. Р...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;В этом руководстве объясняется, как развернуть компоненты Ключ-АСТРОМ вместе с &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. Развёртывание Ключ-АСТРОМ в &amp;#039;&amp;#039;&amp;#039;Kubernetes&amp;#039;&amp;#039;&amp;#039; содержит несколько компонентов, которым необходимо взаимодействовать друг с другом, с кластером Ключ-АСТРОМ и другими внешними ресурсами.&lt;br /&gt;
&lt;br /&gt;
Дополнительную информацию о взаимодействии Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; и его управляемых компонентах см. на странице справки по [[Сетевой трафик|сетевому трафику]].&lt;br /&gt;
&lt;br /&gt;
== Ограничения ==&lt;br /&gt;
&lt;br /&gt;
* Внедрение &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; в пространство имен Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; &amp;lt;u&amp;gt;не поддерживается&amp;lt;/u&amp;gt;.&lt;br /&gt;
* В настоящее время &amp;lt;u&amp;gt;не поддерживаются&amp;lt;/u&amp;gt; ответвления &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; (например, &amp;#039;&amp;#039;&amp;#039;Maistra&amp;#039;&amp;#039;&amp;#039; или &amp;#039;&amp;#039;&amp;#039;OpenShift&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Service&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Mesh&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
* Режим &amp;#039;&amp;#039;&amp;#039;Istio Ambient Mode&amp;#039;&amp;#039;&amp;#039; в этом руководстве не рассматривается, поскольку он все еще находится в стадии &amp;lt;u&amp;gt;бета-тестирования&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Вопросы настройки ==&lt;br /&gt;
В этом руководстве рассматриваются две предустановленные конфигурации &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;, выбранные за их простоту и распространённость. Хотя &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; предлагает широкие возможности настройки, эти конфигурации служат лишь отправной точкой. В этом разделе объясняются сценарии настройки и даются рекомендации по выбору конфигурации Ключ-АСТРОМ, наилучшим образом соответствующей вашим потребностям. Обратите внимание, что Ключ-АСТРОМ не накладывает никаких ограничений на настройку &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
* Конфигурация &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; по умолчанию &amp;lt;code&amp;gt;рекомендуется&amp;lt;/code&amp;gt;  &amp;lt;br /&amp;gt;Это стандартное развёртывание Istio, то есть без специальной конфигурации сети. По сути, это результат следования официальному [https://istio.io/latest/docs/setup/install/helm/ руководству по установке Istio]﻿. Это означает, что &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; устанавливается либо через &amp;#039;&amp;#039;&amp;#039;Helm&amp;#039;&amp;#039;&amp;#039;, либо &amp;lt;code&amp;gt;istioctl&amp;lt;/code&amp;gt; в режиме &amp;#039;&amp;#039;&amp;#039;sidecar&amp;#039;&amp;#039;&amp;#039; с агентом узла &amp;#039;&amp;#039;&amp;#039;CNI&amp;#039;&amp;#039;&amp;#039;.  &amp;lt;br /&amp;gt;Следуйте руководству по настройке конфигурации &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; по умолчанию (ниже), если &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; развернут соответствующим образом.&lt;br /&gt;
* Безопасная конфигурация &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;.  &amp;lt;br /&amp;gt;Это представляет собой «безопасную» конфигурацию &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. Однако это не означает, что мы считаем её наилучшим вариантом настройки безопасности в &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; или что её следует рассматривать, как руководство по обеспечению безопасности &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. Эта настройка основана на параметрах, которые с наибольшей вероятностью повлияют на развёрнутые компоненты Ключ-АСТРОМ и их соединения. В этом сценарии предполагается, что &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; развёрнут со строгим &amp;#039;&amp;#039;&amp;#039;mTLS&amp;#039;&amp;#039;&amp;#039; и &amp;lt;code&amp;gt;outboundTrafficPolicy&amp;lt;/code&amp;gt; настроен на &amp;lt;code&amp;gt;REGISTRY_ONLY&amp;lt;/code&amp;gt;. Эти параметры существенно ограничивают входящие и исходящие соединения для рабочих нагрузок в сети.  &amp;lt;br /&amp;gt;Выберите эту конфигурацию, если применимо хотя бы одно из нижеперечисленных положений:&lt;br /&gt;
** Если вы включили &amp;#039;&amp;#039;&amp;#039;mTLS&amp;#039;&amp;#039;&amp;#039; в строгом режиме.&lt;br /&gt;
** Если у вас есть набор &amp;lt;code&amp;gt;outboundTrafficPolicy&amp;lt;/code&amp;gt; для &amp;lt;code&amp;gt;REGISTRY_ONLY&amp;lt;/code&amp;gt;.  Если ни один из вышеперечисленных пунктов не подходит, выберите конфигурацию &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; &amp;lt;u&amp;gt;по умолчанию&amp;lt;/u&amp;gt;.  &amp;lt;br /&amp;gt;Следуйте руководству по настройке безопасной конфигурации &amp;#039;&amp;#039;&amp;#039;Istio (ниже)&amp;#039;&amp;#039;&amp;#039;, если &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; развернут соответствующим образом.&lt;br /&gt;
&lt;br /&gt;
=== Отключение внедрения CNI Pods ===&lt;br /&gt;
Это актуально для вас, если к вашему развертыванию применимо все нижеперечисленное:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Не поддерживается&amp;lt;/code&amp;gt; Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; развертывается внутри сети.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; настроен на использование компонента &amp;#039;&amp;#039;&amp;#039;CNI&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Вы не настроили ни одного селектора пространства имен в &amp;#039;&amp;#039;&amp;#039;DynaKube&amp;#039;&amp;#039;&amp;#039;, который бы исключал пространство имен &amp;lt;code&amp;gt;istio-system&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Во всех сценариях следует исключить модули &amp;#039;&amp;#039;&amp;#039;Istio CNI&amp;#039;&amp;#039;&amp;#039; из процесса внедрения Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039;. В противном случае при добавлении нового узла в кластер может возникнуть взаимоблокировка.&lt;br /&gt;
&lt;br /&gt;
И драйвер &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039;, и агент &amp;#039;&amp;#039;&amp;#039;CNI Istio&amp;#039;&amp;#039;&amp;#039; являются &amp;#039;&amp;#039;&amp;#039;DeamonSets&amp;#039;&amp;#039;&amp;#039; и поэтому могут быть развернуты на любом (новом) узле в кластере.&lt;br /&gt;
&lt;br /&gt;
* Модуль драйвера &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; будет внедрен &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; с помощью &amp;#039;&amp;#039;&amp;#039;init&amp;#039;&amp;#039;&amp;#039;-контейнера, который ожидает правильной настройки правил перенаправления, необходимых для работы прокси-сайдкара.&lt;br /&gt;
* Модуль &amp;#039;&amp;#039;&amp;#039;CNI&amp;#039;&amp;#039;&amp;#039; будет внедрен Ключ-АСТРОМ для включения требуемых двоичных файлов ЕдиногоАгента для инструментирования, которые предоставляются через том, предоставленный драйвером &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; на этом узле.&lt;br /&gt;
&lt;br /&gt;
Это приводит к ситуации, когда оба модуля не могут запуститься:&lt;br /&gt;
&lt;br /&gt;
* Модуль &amp;#039;&amp;#039;&amp;#039;CNI&amp;#039;&amp;#039;&amp;#039; ожидает, когда драйвер &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; будет готов предоставить данные.&lt;br /&gt;
* Модуль &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; ожидает, пока агент &amp;#039;&amp;#039;&amp;#039;CNI&amp;#039;&amp;#039;&amp;#039; предоставит перенаправления для прокси-сервера.&lt;br /&gt;
&lt;br /&gt;
Кроме того, все остальные рабочие нагрузки, являющиеся целью внедрения &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; или Ключ-АСТРОМ и запланированные на этом узле, будут затронуты и не смогут запуститься.&lt;br /&gt;
&lt;br /&gt;
Самый простой способ исключить модули &amp;#039;&amp;#039;&amp;#039;CNI&amp;#039;&amp;#039;&amp;#039; из внедрения Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; — добавить аннотацию &amp;lt;code&amp;gt;oneagent.astromkey.com/inject: &amp;quot;false&amp;quot;&amp;lt;/code&amp;gt;. Например, для развёртывания &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; в &amp;#039;&amp;#039;&amp;#039;Helm&amp;#039;&amp;#039;&amp;#039; добавьте к значениям диаграммы &amp;lt;code&amp;gt;cni&amp;lt;/code&amp;gt; следующее:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|cni:&lt;br /&gt;
&lt;br /&gt;
  podAnnotations:&lt;br /&gt;
&lt;br /&gt;
    oneagent.astromkey.com/inject: &amp;quot;false&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Руководство по настройке конфигурации Istio по умолчанию ==&lt;br /&gt;
Поскольку Ключ-АСТРОМ поддерживает &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; в конфигурации по умолчанию, вам достаточно включить параметр &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt; только в &amp;#039;&amp;#039;&amp;#039;DynaKube&amp;#039;&amp;#039;&amp;#039;. Однако вам не нужно устанавливать этот параметр, если вы не планируете использовать ограничение &amp;lt;code&amp;gt;outboundTrafficPolicy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если этот параметр включен, Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; развернёт &amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;VirtualServices&amp;lt;/code&amp;gt; и обеспечит взаимодействие внутри сети со всеми соответствующими компонентами Ключ-АСТРОМ и самой средой Ключ-АСТРОМ. &amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;VirtualServices&amp;lt;/code&amp;gt; работают независимо от того, является ли само пространство имён Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; частью сети (если &amp;lt;code&amp;gt;discoveryfilter&amp;lt;/code&amp;gt; в &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; не задано значение &amp;#039;&amp;#039;&amp;#039;no&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Это позволяет всем рабочим нагрузкам и ЕдинымАгентам подключаться к экземпляру АктивногоШлюза, а также всем необходимым соединениям — к среде Ключ-АСТРОМ. Следовательно, ожидается, что все функции Ключ-АСТРОМ будут работать.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; приводит к выполнению дополнительных &amp;#039;&amp;#039;&amp;#039;DNS&amp;#039;&amp;#039;&amp;#039;-запросов каждым прокси-сервером &amp;#039;&amp;#039;&amp;#039;sidecar&amp;#039;&amp;#039;&amp;#039;. Это может привести к дополнительной нагрузке на ваш &amp;#039;&amp;#039;&amp;#039;DNS&amp;#039;&amp;#039;&amp;#039;-сервер.&lt;br /&gt;
&lt;br /&gt;
Чтобы минимизировать количество &amp;#039;&amp;#039;&amp;#039;URL&amp;#039;&amp;#039;&amp;#039;-адресов и, следовательно, &amp;#039;&amp;#039;&amp;#039;DNS&amp;#039;&amp;#039;&amp;#039;-запросов, убедитесь, что сетевые зоны в вашей среде Ключ-АСТРОМ настроены правильно. Подробное описание настройки см. в документации по [[Использование сетевых зон в Kubernetes|сетевым зонам Kubernetes]].&lt;br /&gt;
&lt;br /&gt;
Если в вашей среде это невозможно или недостаточно, ознакомьтесь с разделом [https://istio.io/latest/docs/ops/configuration/traffic-management/dns-proxy/ Istio DNS proxying]﻿ для другого возможного способа решения проблемы.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как работает &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Атрибут &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt;— это удобная функция, которая автоматически создает &amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;VirtualServices&amp;lt;/code&amp;gt; используя конечные точки подключения, требуемые:&lt;br /&gt;
&lt;br /&gt;
* Ключ-АСТРОМ Operator: использует &amp;lt;code&amp;gt;apiUrl&amp;lt;/code&amp;gt; jпределения &amp;#039;&amp;#039;&amp;#039;DynaKube&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* АктивныйШлюз: использует конечную точку &amp;lt;code&amp;gt;/v1/deployment/installer/gateway/connectioninfo&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ЕдиныйАгент, внедренный в пользовательские контейнеры: использует &amp;lt;code&amp;gt;/v1/deployment/installer/agent/connectioninfo&amp;lt;/code&amp;gt;, который учитывает атрибут &amp;lt;code&amp;gt;networkZone&amp;lt;/code&amp;gt; для маршрутизации.&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что атрибут &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt; не учитывает уже существующие &amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;VirtualServices&amp;lt;/code&amp;gt;. Преждевременное использование этого атрибута может привести к конфликтам в конфигурациях &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. В сложных конфигурациях ручная настройка может дать лучшие результаты.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Чтобы изменения атрибута &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt; вступили в силу, необходимо удалить и повторно применить &amp;#039;&amp;#039;&amp;#039;DynaKube&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Ручная настройка ====&lt;br /&gt;
Ручная настройка &amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; может потребоваться &amp;lt;code&amp;gt;VirtualServices&amp;lt;/code&amp;gt; в следующих случаях:&lt;br /&gt;
&lt;br /&gt;
===== АктивныйШлюз =====&lt;br /&gt;
&lt;br /&gt;
* Требование: необходимо, если модуль АктивногоШлюза является частью сети.&lt;br /&gt;
* Конфигурация: настраивается вручную &amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;VirtualServices&amp;lt;/code&amp;gt; на основе выходных данных конечной точки &amp;lt;code&amp;gt;/v1/deployment/installer/gateway/connectioninfo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;cloudNativeFullstack&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;applicationMonitoring&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
* Требование: необходимо, если внедренные пользовательские приложения являются частью сети.&lt;br /&gt;
* Конфигурация: настраивается вручную &amp;lt;code&amp;gt;ServiceEntries&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;VirtualServices&amp;lt;/code&amp;gt; на основе выходных данных конечной точки &amp;lt;code&amp;gt;/v1/deployment/installer/agent/connectioninfo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Руководство по настройке безопасной конфигурации Istio ==&lt;br /&gt;
В такой ограниченной среде, в зависимости от требуемых функций Ключ-АСТРОМ и других факторов, может потребоваться создать несколько дополнительных правил конфигурации для &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. При выборе способа развертывания Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; следует учитывать несколько моментов, касающихся компонентов Ключ-АСТРОМ.&lt;br /&gt;
&lt;br /&gt;
* Даже если на АктивномШлюзе включена маршрутизация, ЕдиныеАгенты будут переключаться на прямое подключение к среде Ключ-АСТРОМ, если АктивныйШлюз недоступен (например, если он находится внутри сети). Это означает, что данные мониторинга не будут потеряны, если некоторые ЕдиныеАгенты не смогут подключиться к АктивномуШлюзу из-за выбранной стратегии развертывания.&lt;br /&gt;
* Режимы мониторинга &amp;lt;code&amp;gt;classicFullStack&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;cloudNativeFullStack&amp;lt;/code&amp;gt; создают модули с включённым сетевым подключением к хосту. Это означает, что эти модули никогда не смогут стать частью сети, поскольку &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; не поддерживает модули с сетевым подключением к хосту. Для &amp;lt;code&amp;gt;classicFullStack&amp;lt;/code&amp;gt; эти модули обрабатывают все метрики приложения, тогда как для &amp;lt;code&amp;gt;cloudNativeFullStack&amp;lt;/code&amp;gt; влияет только на мониторинг хоста.&lt;br /&gt;
* Некоторые функции АктивногоШлюза могут требовать прямого подключения к модулям (например, сбор метрик). При включении &amp;#039;&amp;#039;&amp;#039;mTLS&amp;#039;&amp;#039;&amp;#039; в &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; прямые подключения к IP-адресам модулей невозможны. Обходной путь для сбора метрик см. в разделе &amp;#039;&amp;#039;&amp;#039;Слияние метрик в Istio&amp;#039;&amp;#039;&amp;#039; (ниже).&lt;br /&gt;
&lt;br /&gt;
=== Развертывание вне сети ===&lt;br /&gt;
В этом сценарии наименее сложное развёртывание происходит вне сети. Вам всё равно придётся включить параметр &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt; в &amp;#039;&amp;#039;&amp;#039;DynaKube&amp;#039;&amp;#039;&amp;#039;. Возможные недостатки такого развёртывания:&lt;br /&gt;
&lt;br /&gt;
* Обмен данными внутри сети с АктивнымШлюзом не будет защищён &amp;#039;&amp;#039;&amp;#039;mTLS&amp;#039;&amp;#039;&amp;#039;. Однако обмен данными по-прежнему шифруется по протоколу &amp;#039;&amp;#039;&amp;#039;HTTPS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* АктивныйШлюз не может подключиться ни к одному модулю или сервису внутри сети. Если вас интересует только сбор метрик, ознакомьтесь с решением &amp;#039;&amp;#039;&amp;#039;Сбор метрик с помощью слияния метрик Istio&amp;#039;&amp;#039;&amp;#039; (ниже).&lt;br /&gt;
&lt;br /&gt;
В зависимости от того, являются ли большинство отслеживаемых рабочих нагрузок частью сети или большинство целей для сбора метрик находятся внутри сети, развертывание только АктивногоШлюза внутри сети может оказаться более подходящим вариантом.&lt;br /&gt;
&lt;br /&gt;
=== Развертывание АктивногоШлюза внутри сети ===&lt;br /&gt;
Наиболее совместимый вариант развёртывания — развёртывание только АктивногоШлюза внутри сети. Этот вариант развёртывания наиболее целесообразен, если большая часть отслеживаемых рабочих нагрузок также входит в сеть или если вам требуется, чтобы АктивныйШлюз напрямую подключался к подам внутри сети (например, для сбора данных &amp;#039;&amp;#039;&amp;#039;Prometheus&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
1. Убедитесь, что пространство имен Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; не помечено для внедрения &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;istio-injection&amp;lt;/code&amp;gt; метка не установлена).&lt;br /&gt;
&lt;br /&gt;
2. Пометьте модули АктивногоШлюза для внедрения &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;, добавив в &amp;#039;&amp;#039;&amp;#039;DynaKube&amp;#039;&amp;#039;&amp;#039; следующее:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|apiVersion: astromkey.com/v1beta5&lt;br /&gt;
&lt;br /&gt;
kind: DynaKube&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  name: your-dynakube-name&lt;br /&gt;
&lt;br /&gt;
spec:&lt;br /&gt;
&lt;br /&gt;
  enableIstio: true&lt;br /&gt;
&lt;br /&gt;
  activeGate:&lt;br /&gt;
&lt;br /&gt;
    labels:&lt;br /&gt;
&lt;br /&gt;
      sidecar.istio.io/inject: &amp;quot;true&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
3. Перезапустите модули АктивногоШлюза, чтобы запустить внедрение.&lt;br /&gt;
&lt;br /&gt;
4. &amp;lt;code&amp;gt;необязательно&amp;lt;/code&amp;gt; Вы можете включить связь ЕдиныхАгентов за пределами сети с АктивнымШлюзом, развернув следующий ресурс &amp;lt;code&amp;gt;PeerAuthentication&amp;lt;/code&amp;gt;:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|apiVersion: security.istio.io/v1&lt;br /&gt;
&lt;br /&gt;
kind: PeerAuthentication&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  name: ag-no-mtls # &amp;lt;yourname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  namespace: astromkey-operator # &amp;lt;operator namespace&amp;gt;&lt;br /&gt;
&lt;br /&gt;
spec:&lt;br /&gt;
&lt;br /&gt;
  mtls:&lt;br /&gt;
&lt;br /&gt;
    mode: PERMISSIVE&lt;br /&gt;
&lt;br /&gt;
  selector:&lt;br /&gt;
&lt;br /&gt;
    matchLabels:&lt;br /&gt;
&lt;br /&gt;
      app.kubernetes.io/managed-by: astromkey-operator&lt;br /&gt;
&lt;br /&gt;
      app.kubernetes.io/name: activegate&lt;br /&gt;
|}&lt;br /&gt;
Все коммуникации с АктивнымШлюзом по-прежнему будут зашифрованы с использованием &amp;#039;&amp;#039;&amp;#039;HTTPS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Настройте драйвер Ключ-АСТРОМ Operator CSI с Istio в режиме &amp;lt;code&amp;gt;REGISTRY_ONLY&amp;lt;/code&amp;gt; ===&lt;br /&gt;
При использовании &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;, настроенного на режим &amp;lt;code&amp;gt;REGISTRY_ONLY&amp;lt;/code&amp;gt; с полем &amp;lt;code&amp;gt;codeModulesImage&amp;lt;/code&amp;gt; для драйвера &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039;, необходимо применить дополнительную настройку, чтобы обеспечить правильную связь с реестром образов.&lt;br /&gt;
&lt;br /&gt;
==== Предпосылки ====&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; установлен и настроен в режиме &amp;lt;code&amp;gt;REGISTRY_ONLY&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;Не поддерживается&amp;lt;/code&amp;gt; Драйвер Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; внедряется с помощью &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;codeModulesImage&amp;lt;/code&amp;gt; поле указывается в конфигурации драйвера &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== Настроить &amp;lt;code&amp;gt;ServiceEntry&amp;lt;/code&amp;gt; для драйвера CSI ====&lt;br /&gt;
1. Создайте &amp;lt;code&amp;gt;ServiceEntry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Эта конфигурация &amp;lt;code&amp;gt;ServiceEntry&amp;lt;/code&amp;gt; позволяет драйверу Ключ-АСТРОМ &amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;CSI&amp;#039;&amp;#039;&amp;#039; взаимодействовать с указанным реестром образов. Без этой конфигурации процесс извлечения образа завершится ошибкой. См. пример &amp;lt;code&amp;gt;ServiceEntry&amp;lt;/code&amp;gt; ниже &amp;lt;code&amp;gt;docker.io&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|apiVersion: networking.istio.io/v1&lt;br /&gt;
&lt;br /&gt;
kind: ServiceEntry&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  name: codemodules-docker-io&lt;br /&gt;
&lt;br /&gt;
  namespace: astromkey&lt;br /&gt;
&lt;br /&gt;
spec:&lt;br /&gt;
&lt;br /&gt;
  hosts:&lt;br /&gt;
&lt;br /&gt;
  - index.docker.io&lt;br /&gt;
&lt;br /&gt;
  - auth.docker.io&lt;br /&gt;
&lt;br /&gt;
  - production.cloudflare.docker.com&lt;br /&gt;
&lt;br /&gt;
  location: MESH_EXTERNAL&lt;br /&gt;
&lt;br /&gt;
  ports:&lt;br /&gt;
&lt;br /&gt;
  - name: https-443&lt;br /&gt;
&lt;br /&gt;
    number: 443&lt;br /&gt;
&lt;br /&gt;
    protocol: HTTPS&lt;br /&gt;
&lt;br /&gt;
  resolution: DNS&lt;br /&gt;
|}&lt;br /&gt;
2. Примените &amp;lt;code&amp;gt;ServiceEntry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Сохраните и примените указанную выше конфигурацию к файлу.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|kubectl apply -f serviceentry.yaml&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Сбор метрических данных с использованием слияния метрик Istio ==&lt;br /&gt;
Сбор метрик Ключ-АСТРОМ осуществляется через АктивныйШлюз и настраивается с помощью аннотаций. В результате АктивныйШлюз подключается напрямую к модулям &amp;#039;&amp;#039;&amp;#039;Pod&amp;#039;&amp;#039;&amp;#039; на настроенной конечной точке для сбора метрик. Как уже упоминалось, это прямое подключение &amp;lt;u&amp;gt;не работает&amp;lt;/u&amp;gt; со строгим &amp;#039;&amp;#039;&amp;#039;mTLS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; предоставляет функцию, называемую слиянием метрик﻿, которая использует (широко распространённые) аннотации &amp;lt;code&amp;gt;prometheus.io/...&amp;lt;/code&amp;gt; для настройки дополнительной конечной точки в прокси-сервере &amp;#039;&amp;#039;&amp;#039;sidecar&amp;#039;&amp;#039;&amp;#039;, обслуживающем метрики &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Envoy&amp;#039;&amp;#039;&amp;#039;, а также метрики приложения, определяемые аннотациями. Эта вновь созданная конечная точка исключена из &amp;#039;&amp;#039;&amp;#039;mTLS&amp;#039;&amp;#039;&amp;#039; и, следовательно, доступна извне сети, несмотря на то, что &amp;#039;&amp;#039;&amp;#039;mTLS&amp;#039;&amp;#039;&amp;#039; находится в строгом режиме.&lt;br /&gt;
&lt;br /&gt;
Теперь вы можете указать аннотации Ключ-АСТРОМ на эту конечную точку для сбора метрик &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; и приложения. Если вы не хотите собирать дополнительные метрики &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Envoy&amp;#039;&amp;#039;&amp;#039;, вы можете исключить их, используя аннотацию &amp;lt;code&amp;gt;metrics.astromkey.com/filter&amp;lt;/code&amp;gt; и исключив метрики &amp;lt;code&amp;gt;istio_*&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;envoy_*&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, АктивныйШлюз вне (или внутри) сети может собирать метрики из модулей внутри сети.&lt;br /&gt;
&lt;br /&gt;
Пример всех необходимых аннотаций:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|apiVersion: v1&lt;br /&gt;
&lt;br /&gt;
kind: Pod&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  annotations:&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    metrics.astromkey.com/path: /stats/prometheus # Endpoint created by Istio&lt;br /&gt;
&lt;br /&gt;
    metrics.astromkey.com/port: &amp;quot;15020&amp;quot; # Port of the Envoy sidecar&lt;br /&gt;
&lt;br /&gt;
    metrics.astromkey.com/scrape: &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    prometheus.io/path: /metrics # Metric endpoint of the application&lt;br /&gt;
&lt;br /&gt;
    prometheus.io/port: &amp;quot;8080&amp;quot; # Metric port of the application&lt;br /&gt;
&lt;br /&gt;
    prometheus.io/scrape: &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
|}&lt;br /&gt;
Имейте в виду, что &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; перезапишет аннотации &amp;lt;code&amp;gt;prometheus.io/...&amp;lt;/code&amp;gt; к сгенерированной конечной точке и порту при применении указанного выше модуля. Это означает, что полученный модуль в кластере не будет соответствовать применённому &amp;#039;&amp;#039;&amp;#039;YAML&amp;#039;&amp;#039;&amp;#039;-файлу.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>