工作负载选择器

WorkloadSelector

WorkloadSelector 指定用于确定是否可以将策略应用于代理的标准。匹配标准包括与代理关联的元数据、工作负载实例信息(例如附加到 pod/VM 的标签)或代理在初始握手期间提供给 Istio 的任何其他信息。如果指定了多个条件,则所有条件都需要匹配才能选择工作负载实例。目前,仅支持基于标签的选择机制。

字段类型描述必需
matchLabelsmap<string, string>

一个或多个标签,指示应在其中应用策略的特定 pod/VM 集。标签搜索范围限制在资源所在的配置命名空间。

PortSelector

PortSelector 是指定是否可以将策略应用于具有特定端口的侦听器的标准。

字段类型描述必需
号码uint32

端口号

PolicyTargetReference

PolicyTargetReference 格式,如 GEP-2648 中定义。

PolicyTargetReference 指定了策略应该应用到的目标资源。它一次只能针对单个资源,但可用于针对更大的资源,例如可能应用于多个子资源的网关。PolicyTargetReference 将用于替代 RequestAuthentication、AuthorizationPolicy、Telemetry 和 WasmPlugin CRD 中的 WorkloadSelector 来定位 Kubernetes 网关。

以下是一个使用 PolicyTargetReference 将授权策略绑定到航点代理的示例。该示例将 action 设置为 DENY 以创建拒绝策略。它拒绝所有在 foo 命名空间中通过 waypoint 网关的端口 8080 上使用 POST 方法的请求。

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: httpbin
  namespace: foo
spec:
  targetRefs:
  - name: waypoint
    kind: Gateway
    group: gateway.networking.k8s.io
  action: DENY
  rules:
  - to:
    - operation:
        methods: ["POST"]
        ports: ["8080"]
字段类型描述必需
groupstring

group 是目标资源的组。

kindstring

kind 是目标资源的种类。

namestring

name 是目标资源的名称。

namespacestring

namespace 是引用对象的命名空间。如果未指定,则推断为本地命名空间。

WorkloadMode

WorkloadMode 允许选择底层工作负载在网络流量中的角色。如果工作负载是流量的目的地(即,从工作负载的角度看,流量方向是入站),则工作负载被认为是在 SERVER 模式下运行。如果工作负载是网络流量的源,则它被认为是在 CLIENT 模式下运行(流量是出站的)。

Name描述
UNDEFINED

默认值,将由其自身用法解释。

CLIENT

选择工作负载是网络流量源的情况。此外,如果工作负载是网关,则选择此选项。

SERVER

选择工作负载是网络流量目的地的情况。

CLIENT_AND_SERVER

选择工作负载是网络流量源或目的地的情况。

这些信息对您有用吗?
您有任何改进建议吗?

感谢您的反馈!