Serverless入门课
蒲松洋(秦粤)
前百度国际化前端组组长
立即订阅
4666 人已学习
课程目录
已完结 16 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (2讲)
开篇词 | 说来说去,到底Serverless要解决什么问题?
免费
特别放送 | 为什么阿里要举集团之力趟坑Serverless?
基础篇 (4讲)
01|定义:到底什么是Serverless?
02 | 原理:通过一个案例,理解FaaS的运行逻辑
03 | 原理:FaaS的两种进程模型及应用场景
04 | 原理:FaaS应用如何才能快速扩缩容?
进阶篇 (3讲)
05 | 后端BaaS化(上):NoOps的微服务
06 | 后端BaaS化(中):业务逻辑的拆与合
07 | 后端BaaS化(下):Container Serverless
实战篇 (4讲)
08 | 搭建私有Serverless(一):K8s和云原生CNCF
09 | 搭建私有Serverless(二):基于K8s的Serverless
10 | 经验:Serverless架构应该如何选型?
11 | 经验:Serverless开发最佳实践
结束语 (2讲)
结束语 | 带你整体回顾我们的Serverless案例
结课问卷获奖用户名单
期末测试 (1讲)
期末测试 | 有关Serverless,你掌握了多少呢?
Serverless入门课
15
15
1.0x
00:00/00:00
登录|注册

09 | 搭建私有Serverless(二):基于K8s的Serverless

蒲松洋 2020-05-06
你好,我是秦粤。上节课我向你介绍了云原生基金会 CNCF 的重要成员 K8s,它是用于自动部署、扩展和管理容器化应用程序的开源系统。通过实践,我们在本地搭建 K8s,并将“待办任务”Web 服务案例部署到了本地 K8s 上。K8s 这门技术,我推荐你一定要学习下,不管是前端还是后端,因为从目前的发展趋势来看,这门技术必定会越来越重要。
今天这节课我们就继续学习如何搭建私有的 Serverless 环境。具体来说,我们会在上节课部署本地 K8s 的基础上,搭建 Serverless 底座,然后继续安装组件,扩展 K8s 的集群能力,最终让本地 K8s 集群支持 Serverless。

搭建 Serverless 的前提

在开始之前,我们先得清楚一个问题,之前在基础篇讲 Serverless Computing,也就是 FaaS 的时候,也有同学提问到,“微服务、Service Mesh 和 Serverless 到底是什么关系?”
这些概念确实很高频地出现在我们的视野,不过你不要有压力,我在学习 Serverless 的时候也被这些概念所困扰。我们可以先回顾下微服务,我们在用微服务做 BaaS 化时,相信你也发现了微服务中有很多概念和 Serverless 的概念很接近。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Serverless入门课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(5)

  • 罗祥
    了解到云原生,三驾马车:K8s、Service Mesh、Serverless。还有其他的知识点:lstio、docker、Knative

    作者回复: docker容器其实是基础。Istio就是ServiceMesh的一种实现。Knative是Serverless的一种实现。

    2020-05-06
    1
    3
  • 我来也
    折腾了一番,在老师的帮助下终于调通了.
    在此给有需要的小伙伴一个参考:

    1. 需要新建一个OTS表user
       主键:id 主键类型:INTEGER
       顺带,需要插入一条记录,比如:
       主键id: 1 属性列名称: users 属性列类型:字符串 属性值: ""
    2. 文中的'然后修改项目 k8s-myapp 目录中的 YAML 文件,改成你自己仓库中的 URI。'
       可能是`knative-myapp`
       代码仓库中后来重命名为了 knative-myapp

    ----------------------------
    之前在阿里云k8s上看到了"应用目录""服务网格"选项,后来也逐步的尝试了helm,istio.
    虽然之前也看到了"Knative(公测)"选项,但一直未尝试.
    直到看了老师这篇文章,才知道原来是做这个的.正好这次把它用起来.

    话说使用了这个后,k8s的节点负载就开始报警.
    原来istio/knative自身就有些系统的pod需要创建,额外每个服务还会多2个sidecar.
    导致以下集群中就多了很多pod.
    看来老师文中提到的4CPU8G内存还是有必要的.

    目前来看,感觉Knative安装还是没有istio方便.
    我是跟着另外一个专栏,在集群中安装的Istio 1.5.2版本.
    想着阿里云上的Knative才0.11.0版本,而官方已经到了1.14.0版本.
    本打算自己按着官方文档安装一番,结果很多镜像拉取不了.最后还是放弃了.
    后来在安装阿里云自带的Knative时走了些弯路,花了不少时间.
    主要是卸载Knative不干净,导致重装时怎么也装不成功,需要手动删除k8s上的一些资源才行.

    作者回复: 每次看到你认真的执行课后作业,我都想给你点赞~!
    Serverless和K8s,都是要多实践体验,才能有更好的掌握。

    2020-05-07
    2
  • maomaostyle
    请问下作者生产环节当中的serverless架构有哪些实践可以优化faas的这个请求联路,因为经过虚拟化、容器、overlay好多层之后网络性能有很多损耗,现在有些企业尝试cilium+istio的方式来尽量减少过多的用户与内核态切换

    作者回复: 目前底层的这些性能损耗云服务使用者不用担心,FaaS还没有到如此极致性能压榨阶段,目前Google做的最好,物理机的CPU利用率也只是在50%。
    我们只看FaaS的响应时间能否满足业务场景,如果对延迟敏感的应用,还是建议采用CaaS方案。
    istio也不是减少用户与内核态切换,istio是给Pod里面加辅助容器接管网络通讯,让应用本身的容器轻量化,单一化。

    2020-07-04
  • maomaostyle
    请问下为何不用istio和k8s hpa的原生功能来做服务发现、负载均衡、版本管理等实现呢?感觉knative有些多余啊

    作者回复: Knative的底层是建立的istio上的,当然也可以不建立。Knative主要是自动化维护应用生命周期:文稿中拓扑图红色的模块,不仅仅是微服务。

    2020-07-01
  • 小黑小小黑
    阿里的函数计算是基于knative来实现的吗?

    作者回复: 据我所知不是基于Knatvie实现的,阿里巴巴早年的中间件沉淀很深厚,不过没有开源而已。另外,其实不同的语言的FaaS实现方案是不同的。

    2020-06-28
收起评论
5
返回
顶部