[英]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.