Kubernetes 服務¶
本指南說明執行 Knative Serving 時會啟用的 Kubernetes 服務。
開始之前¶
- 本指南假設您已安裝 Knative Serving。
-
確認您的叢集中具有適當的元件。若要檢視叢集中安裝的服務,請使用以下命令
$ kubectl get services -n knative-serving
這會傳回類似下列的輸出
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE activator-service ClusterIP 10.96.61.11 <none> 80/TCP,81/TCP,9090/TCP 1h autoscaler ClusterIP 10.104.217.223 <none> 8080/TCP,9090/TCP 1h controller ClusterIP 10.101.39.220 <none> 9090/TCP 1h webhook ClusterIP 10.107.144.50 <none> 443/TCP 1h
-
若要檢視叢集中的部署,請使用以下命令
$ kubectl get deployments -n knative-serving
這會傳回類似下列的輸出
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE activator 1 1 1 1 1h autoscaler 1 1 1 1 1h controller 1 1 1 1 1h net-certmanager-controller 1 1 1 1 1h net-istio-controller 1 1 1 1 1h webhook 1 1 1 1 1h
這些服務和部署會在安裝期間由 serving.yaml
檔案安裝。下一節將說明它們的功能。
元件¶
服務:activator¶
activator 負責接收和緩衝非使用中修訂版本的請求,並向自動調整器報告指標。它也會在自動調整器根據報告的指標調整修訂版本之後,重試對修訂版本的請求。
服務:autoscaler¶
autoscaler 接收請求指標並調整處理流量負載所需的 Pod 數量。
服務:controller¶
controller 服務會調和所有公開的 Knative 物件和自動調整 CRD。當使用者將 Knative 服務套用至 Kubernetes API 時,這會建立組態和路由。它會將組態轉換為修訂版本,並將修訂版本轉換為部署和 Knative Pod 自動調整器 (KPA)。
服務:webhook¶
webhook 會攔截所有 Kubernetes API 呼叫以及所有 CRD 插入和更新。它會設定預設值、拒絕不一致和無效的物件,並驗證和修改 Kubernetes API 呼叫。
部署:net-certmanager-controller¶
certmanager 會將叢集 Ingress 調和為 cert manager 物件。
部署:net-istio-controller¶
net-istio-controller 部署會將叢集的 Ingress 調和為 Istio 虛擬服務。
下一步¶
- 如需深入了解 Knative Serving 中涉及的服務和部署,請參閱規格儲存庫。
- 如需 Knative Serving 的高階分析,請參閱Knative Serving 概觀。
- 如需實作教學課程,請參閱Knative Serving 程式碼範例。