簡體   English   中英

Istio 網關配置中的 spec/selector label 是什么?

[英]What is spec/selector label in an Istio Gateway configuration?

我是 Istio Gateway 的新手,我的目標是為部署在 K8s 上的服務創建一個 Ingress Gateway。

我對官方文檔中的網關示例有點困惑: https://istio.io/latest/docs/concepts/traffic-management/#gateway-example

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: ext-host-gwy
spec:
  selector:
    app: my-gateway-controller
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - ext-host.example.com
    tls:
      mode: SIMPLE
      credentialName: ext-host-cert

在本例中,spec/selector 下的app: my-gateway-controller是什么? 這個 my-gateway-controller 是否需要額外的配置/部署?

我嘗試在文檔的 rest 中搜索“my-gateway-controller”,但沒有找到進一步的解釋。

它通常是 istio 入口網關 pod label 名稱,需要在選擇器中給出,因為外部流量將通過入口網關 pod 進入。 除非在 istio 安裝期間更改了入口網關的名稱。

請在網關定義中提及以下內容,它將流量路由到應用程序。

spec:
  selector:
    istio: ingressgateway

Istio 可以使用不同的選項安裝。 它們具有不同的配置文件,可用於測試、默認場景和自定義設置。 一種選擇是配置一個入口控制器(但你也可以沒有並使用不同的非 istio 入口控制器)。

根據您的設置,您可以沒有入口網關、默認入口網關或自定義網關。

默認網關有一個名為istio: ingressgateway 您可以在大多數示例/入門文檔中找到它,例如如何設置安全入口

這里的Gateway看起來像這樣:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: mygateway
spec:
  selector:
    istio: ingressgateway # use istio default ingress gateway
[...]

另一種選擇是設置第二個可能具有不同名稱的入口網關。 例如,您可以使用IstioOperator清單來配置它。

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    ingressGateways:
    - enabled: true
      name: my-gateway-controller

該入口網關 pod 將獲得一個 label 的app: my-gateway-controller 這個 label 可以像您發布的示例中那樣使用。 因此,您可以檢查您擁有的所有入口網關 pod,然后選擇您需要的 label。

如果你使用默認設置,你可能有默認的 ingress-gateway 並且可以簡單地將選擇器更改為istio: ingressgateway

一開始我建議堅持使用任務部分來配置您的設置,因為它使用大多數人擁有的默認 istio 設置。 如果您需要更多詳細信息或特殊內容,您可以隨時查看文檔頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM