Serverless 入门课
蒲松洋(秦粤)
前百度国际化前端组组长
16754 人已学习
新⼈⾸单¥29
Serverless 入门课
15
15
1.0x
00:00/00:00
登录|注册

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

你好,我是秦粤。通过前面的两节实践课,我们体验了在本地环境中搭建 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/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了选择Serverless架构和云服务商时的关键因素和技术特点。作者分享了在本地环境中搭建K8s并利用其组件扩展能力安装Istio和Knative的实践经验。强调了Serverless架构的变革,使开发者无需关心底层细节,而专注于应用开发。在选择云服务商时,列举了几家主要的云服务商及其特点,包括亚马逊AWS、微软Azure、阿里云、谷歌云以及其他云服务商。文章还介绍了云上部署K8s集群Knative的实操过程,包括使用阿里云的Serverless K8s集群ASK和在本地同时管理多个K8s集群的方法。通过实践经验和数据分析,为读者提供了在选择Serverless架构和云服务商时需要考虑的关键因素和技术特点。文章还提到了解决云服务商用FaaS构建起的新壁垒的问题,为读者提供了下一步的学习方向。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Serverless 入门课》
新⼈⾸单¥29
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • 我来也
    补交一下作业. 今天通过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
    5
  • 我来也
    感觉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
    1
  • 小谢同学
    现在云厂商都会基于kata或者rust-vmm来实现“serverless”式的容器服务,请问您怎么看?另外厂商一般使用virtual-kubelet来管理serverless容器产品,例如腾讯EKS,为什么不用原生的kubelet结合containerd来进行管理呢?

    作者回复: kata和rust vm是为了进一步压榨物理机性能,在更低配置的环境中运行,属于轻量级容器方案。virtual kubelet阿里云也有类似的产品,将serverless容器作为虚拟node来管理,原始kubelet的主要问题是管理pod上限无法突破,另外多node场景下,节点状态同步复杂度会提升很多。

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

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

    2020-05-12
  • 阿里云 客服响应速度是一大亮点 ,这点我认同。哈哈,每次有问题提工单都能快速的响应
    2020-05-12
    2
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部