Serverless入门课
蒲松洋(秦粤)
前百度国际化前端组组长
立即订阅
4664 人已学习
课程目录
已完结 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
登录|注册

10 | 经验:Serverless架构应该如何选型?

蒲松洋 2020-05-08
你好,我是秦粤。通过前面的两节实践课,我们体验了在本地环境中搭建 K8s,并且我们利用 K8s 的组件扩展能力,在本地的 K8s 上安装了 Istio 和 Knative。正如我在前面课程中所说的,K8s 可以让我们的集群架构,轻松迁移到其他集群上,那么今天我就带你将我们本地 K8 上部署的“待办任务”Web 服务部署到云上的 K8s 集群。
实践课里还有这么个小细节,不知道你注意没,我们使用 Knative 时,应用和微服务部署都需要关心项目应用中的 Dockerfile,而我在使用 FaaS 函数时,连 Dockerfile 都不用管了,其实这就是 Serverless 带来的变革之一。当然,现在有很多应用托管 PaaS 平台,也做了 Serverless 化,让我们部署一个应用时只需要关心 Release 分支的代码合并,例如 Heroku、SAE 等等。
这里我需要先解释一下,K8s 集群的运维工作对于很多个人开发者来说,是有些重的。我们通常了解基本知识,用 kubectl 调用 K8s 集群就可以了。咱们课程里,我是为了让你更好理解 Serverless 的工作原理,所以才向你介绍 Knative 在 K8s 上的搭建和使用过程。
实际工作中 K8s 集群的运维,还是应该交给专业的运维人员。另外,云服务商的 K8s 集群,都会提供控制面板,一键安装组件。我们在使用 Serverless 的部署应用时,不用关心底层“被透明化”的类似 Knative、Istio 等等插件能力,这也是 Serverless 应用的价值所在,虽然它本身的底层构建在复杂且精密的各种服务上,但我们使用 Serverless 却极其精简。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Serverless入门课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(4)

  • 一步
    阿里云 客服响应速度是一大亮点 ,这点我认同。哈哈,每次有问题提工单都能快速的响应
    2020-05-12
    1
  • 我来也
    补交一下作业.
    今天通过ASK的Knative部署了老师的这套服务.
    给有需要的同学一个参考:

    1. 创建Serverless Kubernetes时,推荐勾选上PrivateZone.
       我未勾选该选项,导致服务内无法通过`user.default.svc.cluster.local`互相访问
       后来我是kubectl exec -it xxx -- /bin/bash 进了pod,修改了`/etc/hosts`完成的配置.
    2. 需要参考文章[Knative On ASK 给您带来极致的 Serverless 体验](https://yq.aliyun.com/articles/759756)
       创建好集群后,在钉钉群中联系客服,帮忙开通Knative功能.
       注: 部署成功后,会多出一个SLB,也会多出`knative-serving`命名空间.
           暂时还无法通过控制台的UI查看及操作Knative,只能通过命令行操作.
    3. 微调调试的部署yaml文件.
       比如添加一个注解,便于在pod上申请一个公网IP.
          k8s.aliyun.com/eci-with-eip: "true"
       由于我的k8s机器未创建NAT网关,默认的pod是无法访问公网,拉取镜像的.
       所有需要在每个pod上都申请一个公网IP.
          目前NAT网关是12元/天,而一个公网IP才0.02元/小时的配置费用
    4. 查看服务的域名
          kubectl get ksvc
    5. 配置域名解析
       需要解析到Knative的负载均衡SLB的公网IP上
    6. 验证部署效果

    作者回复: 默默点个赞!

    2020-05-12
    1
  • 一步
    资源的物理机虚拟化 是什么意思的? 是一份资源虚拟出多份资源使用吗?

    作者回复: 物理机上层构建虚拟机,虚拟机上层构建PaaS,SaaS。
    但最终执行时,都是在物理机的CPU,内存,硬盘。
    我们虽然虚拟了资源使用,但是无法超过物理机限制。
    例如4核8G的物理机,虚拟出2台4核8G的虚拟机。这个就是超卖1:2。我们日常使用的虚拟机,很难跑到100%CPU的。而且物理机的supervisor可以限制你,即使你看上去跑到100%,实际也是2核4G。

    2020-05-12
  • 我来也
    感觉Knative还是太新了,目前还未出1.0版本.
    不过有了它,确实是可以方便的基于k8s环境,搭建属于自己的serverless平台做定制化.

    今天无意中看到一个IBM的免费视频讲堂,推荐给感兴趣的小伙伴.
    [Kubernetes 原生无服务器开源项目 Knative](https://developer.ibm.com/cn/os-academy-knative/)

    作者回复: Knative的确比较新,之前有kubeless<https://kubeless.io/>,
    不过Knative是CNCF的成员,亲儿子,所以一下就超过了kubeless了

    2020-05-10
收起评论
4
返回
顶部