工作負載選取器

工作負載選取器

WorkloadSelector 指定用於判斷是否可將政策應用於代理的條件。匹配條件包括與代理相關聯的元數據、工作負載實例資訊(例如附加到 pod/VM 的標籤),或代理在初始握手期間提供給 Istio 的任何其他資訊。如果指定多個條件,則所有條件都需要匹配,才能選擇工作負載實例。目前,僅支援基於標籤的選擇機制。

欄位類型描述必要
matchLabelsmap<string, string>

一個或多個標籤,指示應套用政策的一組特定 pod/VM。標籤搜尋的範圍限制為資源所在的組態命名空間。

連接埠選取器

PortSelector 是用於指定是否可將政策應用於具有特定埠的監聽器的條件。

欄位類型描述必要
numberuint32

埠號

PolicyTargetReference

PolicyTargetReference 格式如 GEP-2648 所定義。

PolicyTargetReference 指定應套用政策的目標資源。它一次只能針對單個資源,但可用於針對更大的資源,例如可能適用於多個子資源的閘道。在 RequestAuthentication、AuthorizationPolicy、Telemetry 和 WasmPlugin CRD 中,將使用 PolicyTargetReference 而不是 WorkloadSelector 來針對 Kubernetes 閘道。

以下是一個使用 PolicyTargetReference 繫結到航點代理的 AuthorizationPolicy 範例。該範例將 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 模式(流量是從工作負載出站)。

名稱描述
UNDEFINED

預設值,將由其自身的使用方式解釋。

CLIENT

選擇工作負載為網路流量來源的情況。此外,如果工作負載是閘道,則選擇此項。

SERVER

選擇工作負載為網路流量目的地的場景。

CLIENT_AND_SERVER

選擇工作負載為網路流量來源或目的地的場景。

此資訊是否有用?
您有任何改進建議嗎?

感謝您的回饋!