从HelloWorld看Knative Serving代码实现( 九 )
Revision
/pkg/reconciler/v1alpha1/revision/revision.go
1.获取build进度
2.设置镜像摘要
3.创建deployment
4.创建k8s service:根据Revision构建服务访问Service
5.创建fluentd configmap
6.创建KPA
感觉这段代码写的很优雅 , 函数执行过程写的很清晰 , 值得借鉴 。 另外我们也可以发现 , 目前knative只支持deployment的工作负载
最后我们看一下生成的Revision资源:
这里我们可以看到访问域名helloworld-go.default.svc.cluster.local , 以及当前revision的流量配比(100%)这样我们分析完之后 , 现在打开Serving这个黑盒:
最后
这里只是基于简单的例子 , 分析了主要的业务流程处理代码 。 对于activator(如何唤醒业务容器) , autoscaler(Pod如何自动缩为0)等代码实现有兴趣的同学可以一起交流 。
参考
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 最详细的SpringBoot入门项目——HelloWorld
- 2分钟上手、3小时学会无代码软件开发---开发案例HelloWorld
- Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务
- 深入解读 Knative Eventing 0.7 版本新特性
- 业界 | TensorFlow 携手 NVIDIA,使用 TensorRT 优化 TensorFlow Serving 性能