Knative Serving
官方文档:
注意: 本文档仅供参考。
安装说明
Knative Serving 是 CSGHub 部署实例必续组件,在部 署 CSGHub 前需要提前配置并部署好。Helm 部署通过指定global.deployment.knative.serving.autoConfig=true
自动部署 Knative Serving。
CSGHub 通过 Knative Serving 实现推理和微调已经应用空间等实例的部署功能。
配置步骤
安装核心组件
# 安装自定义资源
kubectl apply -f https://raw.githubusercontent.com/OpenCSGs/csghub-charts/refs/heads/main/deploy/knative/serving-crds.yaml
# 安装核心组件
kubectl apply -f https://raw.githubusercontent.com/OpenCSGs/csghub-charts/refs/heads/main/deploy/knative/serving-core.yaml
安装网络组件
kubectl apply -f https://raw.githubusercontent.com/OpenCSGs/csghub-charts/refs/heads/main/deploy/knative/kourier.yaml
配置网络组件
-
配置默认使用 Kourier
kubectl patch configmap/config-network \
--namespace knative-serving \
--type merge \
--patch '{"data":{"ingress-class":"kourier.ingress.networking.knative.dev"}}' -
【如所需】配置服务访问方式
提示:如果你的环境支持 LoadBalancer,请跳过。
kubectl patch service/kourier \
--namespace kourier-system \
--type merge \
--patch '{"spec": {"type": "NodePort"}}' -
配置使用 RealDNS
kubectl patch configmap/config-domain \
--namespace knative-serving \
--type merge \
--patch '{"data":{"app.internal":""}}'app.internal
是一个用于暴露 ksvc 服务的二级域名,此域名不需要暴露在互联网中,因此你可以定义为任何域名,此域名解析会通过 CSGHub Helm Chart 的 coredns 组件完成。
配置 HPA
kubectl apply -f https://raw.githubusercontent.com/OpenCSGs/csghub-charts/refs/heads/main/deploy/knative/serving-hpa.yaml
禁用 KSVC Pod 缩放至 0
kubectl patch configmap/config-autoscaler \
--namespace knative-serving \
--type merge \
--patch '{"data":{"enable-scale-to-zero":"false"}}'