--- apiVersion: operator.knative.dev/v1alpha1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving EOF // 检查 knative-serving 组件是否正常运行 $ kubectl get deployment -n knative-serving 1 1 3h25m pingsource-mt-adapter 1/1 1 1 109m // 为 knative-serving namespace 启用 istio sidecar 自动注入功能 $ kubectl label namespace knative-serving istio-injection=enabled latest/kn-darwin-amd64 $ cp kn-darwin-amd64 /usr/local/bin/kn 检查 knative 服务状态 knative 服务所启动的 pod 分别在 knative-serving
-69c94fb9c7-lhsx9 1/1 Running 0 3m52s knative-serving webhook-69db94fb79 -w966n 1/1 Running 0 3m52s knative-serving controller-59bb6bbfc-xstvl 1/1 Running 0 3m52s knative-serving domainmapping-webhook-986ddd5c7- b7q4g 1/1 Running 0 3m52s knative-serving activator-77df89764b-gnqbw 1/1 Running 0 3m52s knative-serving default-domain-dpp5x 1/1
activator-c7d578d94-55hqj 1/1 Running 0 10m knative-serving autoscaler-6488988457-jt6xf 1/1 Running 0 10m knative-serving controller-6cff4c9d57-nscsl 1/1 Running 0 10m knative-serving domain-mapping-7598c5f659-gnsl4 1/1 Running 0 10m knative-serving domainmapping-webhook-8c4c9fdc4-697sk 1/1 Running 0 10m knative-serving
在服务副本数为0的时候,Knative控制器创建的vs关键配置如下: spec: gateways: - knative-serving/cluster-local-gateway - knative-serving $ gateways: - knative-serving/knative-ingress-gateway - authority: regex: ^hello-go $ gateways: - knative-serving/cluster-local-gateway retries: attempts: 3
4m knative-build build-webhook-fb6484576-sr4fk 1/1 Running 0 4m knative-serving activator-77d46b585d-b6g8n 2/2 Running 0 4m knative-serving controller -85768cfd45-t8ktc 1/1 Running 0 4m knative-serving webhook-56dd548f8
knative 部署完成后可以在 knative-serving namespace 下看到创建出的组件: $ kubectl get pod -n knative-serving NAME 192.168.99.130:31046 0.01s user 0.01s system 45% cpu 0.026 total knative serving 组件 serving 共有 6 个主要的组件,其中 5 个在 knative-serving knative service 生成的独立域名都是这个主域名的子域名,可以通过修改 config 来指定默认域名: $ kubectl edit cm config-domain --namespace knative-serving
KPA可以看作HPA的扩展版本,对默认HPA算法进行了一些调整,使其能更适应且更快速地响应并处理流量驱动的Knative扩缩容需求 配置Knative Service自动扩缩容 Kubernetes的knative-serving 可以用kubectl命令查看该ConfigMap $ kubectl -n knative-serving get cm config-autoscaler -o yaml 以下代码段展示了ConfigMap 重点看本章示例的一些参数 ,如下所示 apiVersion: serving.knative.dev/v1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: config: autoscaler: container-concurrency-target-default
在服务副本数为0的时候,Knative控制器创建的vs关键配置如下: spec: gateways: - knative-serving/cluster-local-gateway - knative-serving $ gateways: - knative-serving/knative-ingress-gateway - authority: regex: ^hello-go $ gateways: - knative-serving/cluster-local-gateway retries: attempts: 3
创建一个应用试试 修改一下domain先 kubectl edit cm config-domain --namespace knative-serving apiVersion: v1 data:
1,安装knative-serving % kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.1.0 -f https://github.com/knative/serving/releases/download/knative-v1.1.0/serving-core.yaml namespace/knative-serving % kubectl get pods -n knative-serving NAME READY STATUS webhook-6d5c77f989-d5r5r 0/1 ImagePullBackOff 0 2m5s % kubectl -n knative-serving
knative-releases.knative.dev.net-kourier.cmd.kourier:latest 然后patch % kubectl patch configmap/config-network \ --namespace knative-serving 3scale-kourier-gateway-5f96966d45-n5tgg 1/1 Running 0 115s 至此knative serving起来了 % kubectl get pods -n knative-serving : 0.1 USER_PORT: 8080 SYSTEM_NAMESPACE: knative-serving
tektoncd-pipeline-cmd-controller docker pull dyrnq/tektoncd-pipeline-cmd-webhook 将上面的镜像拉下来后,重新部署下所有的deployment % kubectl -n knative-serving
/net-contour.yaml •配置knativeserving使用Contour kubectl patch configmap/config-network \ --namespace knative-serving
=cert-manager 同样,部署 Knative Pod 可能要花几分钟时间;你可以用命令 kubectl –namespace knative-serving get pods –watch检查状态 用命令 kubectl –namespace knative-serving get pods 检查所有程序是否正在运行。如果是这种情况,应该显示下面的输出。
RevisionRequestConcurrencyModelType = "Multi" ) 配置 apiVersion: v1 kind: ConfigMap metadata: name: config-autoscaler namespace: knative-serving
Helm Chart 方式定制了 Kubeflow 的安装方式,只需运行一个命令(helm install),即可轻松完成 Kubeflow 及其依赖组件(如 dex、cert-manager、istio、knative-serving
您可以看到它们伴随其他 Serving 组件一起运行在 knative-serving 命名空间中(参见示例 2-6)。 示例 2-6. kubectlgetpods-n knative-serving 输出 NAME READY STATUS RESTARTS
使用以下命令监视它们,直到所有 Pod 显示为运行: kubectl get pods --namespace knative-serving --watch kubectl get pods --namespace
knative-custom-domain/domain.yaml apiVersion: v1 kind: ConfigMap metadata: name: config-domain namespace: knative-serving knative-custom-domain/domain.yaml apiVersion: v1 kind: ConfigMap metadata: name: config-domain namespace: knative-serving
▲图2-16 Knative弹性伸缩原理简图 用户可以看到它们伴随其他Serving组件一起运行在knative-serving命名空间中。