В полисе spec.targets
вы указали только одно имя службы my-service
, которое относится только к одной службе с только этим именем. На Target selector docs вы можете найти информацию, что с помощью этого способа вам нужно указать имя каждой службы, но вы также можете указать и номер порта. Там также упоминалось о 3 типах политик: Mesh-wide
, Namespace-wide
и Service-specific
.
Что касается решения вашего вопроса, я могу посоветовать вам 3 варианта:
1. Отдельные пространства имен для включенных и отключенных служб
Вы можете разместить свои службы, которые должны проходить проверку подлинности, на другой namespace
и включить политику в отношении пространства имен . Другим вариантом этой опции может быть перемещение служб, которые не должны проходить проверку подлинности, в другие namespace
и включение проверки подлинности в пространстве имен default
.
2. Политика всего пространства имен с отдельной службой Она аналогична предыдущей, но вместо создания новой политики всего пространства имен вам просто нужно создать политику service-specific
, которая отключит аутентификацию в одной службе.
Она должнаработа в качестве приоритета:
для конкретной службы> для всего пространства имен> для всей сетки
3. MeshPolicy с индивидуальным сервисом Если вы хотите сохранить все сервисы в одном namespace
, вы можете использовать MeshPolicy , чтобы применить эту политику ко всем services
во всех пространствах имен в сетке, а затем создать еще один service-specific
политика отключения аутентификации. Как упоминалось ранее, service-specific
имеет более высокий приоритет, чем MeshPolicy
.
Надеюсь, это поможет.