架构

深入探讨 Ambient 模式的架构。

Ambient 和 Istio 控制平面

了解 Ambient 如何与 Istio 控制平面交互。

Ambient 数据平面

了解 Ambient 数据平面如何在 Ambient 网格中的工作负载之间路由流量。

HBONE

了解 Istio 的安全隧道协议。

ztunnel 流量重定向

了解流量如何在 Pod 和 ztunnel 节点代理之间重定向。

流量路由

了解流量如何在 Ambient 网格中的工作负载之间路由。

Ambient API

要实施 L7 策略,请将 istio.io/use-waypoint 标签添加到您的资源中,以便对被标记的资源使用 waypoint。

  • 如果命名空间被标记为 istio.io/use-waypoint 并且拥有命名空间的默认 waypoint, 则该 waypoint 将应用于命名空间中的所有 Pod。
  • 当不需要为整个命名空间使用 waypoint 时,也可以在单个服务或 Pod 上设置 istio.io/use-waypoint 标签。
  • 如果命名空间和服务上都存在 istio.io/use-waypoint 标签, 则只要服务 waypoint 可以处理服务流量或所有流量,则服务 waypoint 优先级就高于命名空间 waypoint。 同样,Pod 上的标签优先级将高于命名空间标签。

标签

您可以使用以下标签将资源添加到网格中, 流向资源的流量使用 waypoint,并控制被发送到 waypoint 的流量。

名称功能状态资源描述
istio.io/dataplane-modeBetaNamespace将您的资源添加到 Ambient 网格中。

有效值:ambient
istio.io/use-waypointBetaNamespaceServicePod使用 waypoint 对被标记资源的流量执行 L7 策略。

有效值:{waypoint-name}{namespace}/{waypoint-name}#none(带有哈希值)。
istio.io/waypoint-forAlphaGateway指定 waypoint 将处理流量的端点类型。

有效值:serviceworkloadnoneall。该标签是可选的,其默认值为 service

为了使您的 istio.io/use-waypoint 标签值有效, 您必须确保为使用 waypoint 的端点配置 waypoint。默认情况下,waypoint 接受针对服务端点的流量。 例如,当您通过 istio.io/use-waypoint 标签将 Pod 标记为使用特定 waypoint 时, 该 waypoint 应添加值为 workloadall 的标签 istio.io./waypoint-for

附加 7 层策略到 waypoint

您可以使用 targetRefs 将 7 层策略 (例如 AuthorizationPolicyRequestAuthenticationTelemetryWasmPlugin 等)附加到您的 waypoint。

  • 要将 L7 策略附加到整个 waypoint,请将 Gateway 设置到 targetRefs 的值中。 下面的示例展示了如何将 viewer 策略附加到 default 命名空间的名为 waypoint 的 waypoint:

    1. apiVersion: security.istio.io/v1beta1
    2. kind: AuthorizationPolicy
    3. metadata:
    4. name: viewer
    5. namespace: default
    6. spec:
    7. targetRefs:
    8. - kind: Gateway
    9. group: gateway.networking.k8s.io
    10. name: waypoint
  • 要将 L7 策略附加到 waypoint 内的特定服务,请将 Service 设置到 targetRefs 的值中。 下面的示例展示了如何将 productpage-viewer 策略附加到 default 命名空间中的 productpage 服务:

    1. apiVersion: security.istio.io/v1beta1
    2. kind: AuthorizationPolicy
    3. metadata:
    4. name: productpage-viewer
    5. namespace: default
    6. spec:
    7. targetRefs:
    8. - kind: Service
    9. group: ""
    10. name: productpage