Knative是一款基于Kubernetes的开源Serverless框架,支持基于请求的自动弹性、在没有流量时将实例数量自动缩容至0、版本管理与灰度发布等能力。ACK Knative完全兼容社区Knative,还提供产品化的一键部署能力,无需自行购买资源搭建系统。您可以在控制台白屏化部署Knative并开启Knative网关。
前提条件
已创建1.28及以上版本的ACK托管集群或ACK专有集群,且集群中Worker节点数量大于等于3个。如需升级集群,请参见手动升级集群。
操作步骤
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在组件管理页签,单击一键部署Knative,选择需要安装的Knative网关,然后单击一键部署。
关于几种Knative网关的选型建议,请参见Knative网关选型建议。
ALB
提供全托管的ALB Ingress能力,基于阿里云应用型负载均衡ALB(Application Load Balancer)之上更为强大的Ingress流量管理方式。具备处理复杂业务路由和证书自动发现的能力,支持HTTP、HTTPS和QUIC协议。使用ALB Ingress 选择至少两个虚拟交换机。
说明ALB当前ALB支持的地域与可用区。
MSE
提供MSE Ingress能力,MSE Ingress是在MSE云原生网关之上提供更为强大的Ingress流量管理方式,兼容Nginx Ingress以及50多个Nginx Ingress的注解,覆盖90%以上的Nginx Ingress业务场景。支持多服务版本同时灰度发布、灵活的服务治理能力以及全方位的安全防护保障,能够满足大规模云原生分布式应用的流量治理诉求。
重要MSE网关仅支持Kubernetes版本为1.24及以上的集群。
ASM
阿里云服务网格(Service Mesh,简称ASM)提供一个全托管式的服务网格平台,兼容社区Istio开源服务网格,用于简化服务的治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格可观测性能力,从而极大地减轻开发与运维的工作负担。
Kourier
由Knative社区提供的网关,提供基本的服务路由访问能力。Kourier组件部署在用户侧集群,需要您自行维护。
说明在ACK Serverless集群中使用Kouier网关需要开启PrivateZone(或CoreDNS)。
部署成功后,您可以单击进入组件管理,查看组件信息;单击进入服务管理,查看Knative应用信息。
相关操作
部署未安装的组件:在组件管理页签,状态为未部署的组件的右侧,单击部署,在弹出的对话框中,单击确定。
卸载组件:在组件管理页签,单击目标组件右侧操作列下的卸载,在弹出的对话框,单击确定。
卸载Knative:在组件管理页签,单击右上角的一键卸载,在弹出的对话框,选中我已知晓并确认卸载Knative,单击确认。
相关文档
关于如何根据业务类型选择合适的Knative网关,请参见Knative网关选型建议。
您可以参见快速部署一个Knative服务快速部署一个Knative服务。
关于如何基于流量请求数实现Knative服务的自动扩缩容,请参见基于流量请求数实现服务自动扩缩容。
关于如何部署Knative Eventing组件并实现Knative的事件驱动,请参见Knative事件驱动。