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¶
激活器负责接收和缓冲对非活动修订版的请求,并将指标报告给自动缩放器。它还在自动缩放器根据报告的指标缩放修订版之后重试对修订版的请求。
服务:autoscaler¶
自动缩放器接收请求指标并调整处理流量负载所需的 Pod 数量。
服务:controller¶
控制器服务协调所有公共 Knative 对象和自动缩放 CRD。当用户将 Knative 服务应用到 Kubernetes API 时,这将创建配置和路由。它将配置转换为修订版,并将修订版转换为部署和 Knative Pod 自动缩放器 (KPA)。
服务:webhook¶
webhook 拦截所有 Kubernetes API 调用以及所有 CRD 插入和更新。它设置默认值,拒绝不一致和无效的对象,并验证和变异 Kubernetes API 调用。
部署:net-certmanager-controller¶
certmanager 将集群入口协调到 cert manager 对象中。
部署:net-istio-controller¶
net-istio-controller 部署将集群的入口协调到 Istio 虚拟服务 中。
下一步¶
- 要更深入地了解与 Knative Serving 相关的服务和部署,请参阅 specs 存储库。
- 要对 Knative Serving 进行高级分析,请参阅 Knative Serving 概述。
- 有关动手教程,请参阅 Knative Serving 代码示例。