阿里云《云原生》公开课笔记 第一章 云原生启蒙

阿里云《云原生》公开课笔记 第一章 第一讲

课程课件:https://edu.aliyun.com/lesson_1651_16823?spm=5176.10731542.0.0.58ef20beiGWfiF#_16823

  1. 云原生技术发展史
  • 2004-2007,google使用cgroup技术
  • 2008,google将cgroup合并到linux内核
  • 2013年docker项目发布
  • 2014年kubernetes(容器设计模式)发布,本来google内部使用的Borg/Omega
  • 2015-2016,Mesos(技术)、Docker swarm(生态)、kubernetes竞争(生态和技术兼具)
  • 2017年,kubernetes胜出,swarm停止维护,docker公司宣布核心产品内置了kubernetes服务(有kubernetes镜像了),swarm不在维护
  • 2019年,阿里巴巴“全面上云”,各大公司开始关注k8s以及微服务
  • 未来需求:不仅要会使用kubernetes,还需要懂kubernetes,熟悉云原生架构
  1. CNCF 全景图:
  • CNCF Landscape是CNCF中的一个重要项目,它始于2016年11月,旨在为云原生应用者提供一个资源地图,帮助企业和开发人员快速了解云原生体系的全貌。CNCF Landscape项目在Github上已经获得超过5000颗星,表明广大开发者和使用者对该项目的关注和重视。CNCF Landscape通过对云原生技术中的大多数项目和产品进行分类,来追踪整个生态中的大量应用。
  • 相关文章:http://www.geekpark.net/news/243185
    • RDMA:远程直接数据存取
    • 国内唯一列入容器存储的组件:焱yan融云YRCloudFile
  • github地址:https://github.com/cncf/landscape?spm=5176.10731542.0.0.2fd320bewddcxw
  • https://www.cncf.io/ cncf本身托管了20多个项目,kubernetes是其中之一
  • 其他
    • 云原生基金会CNCF(cloud native computing foundation)
    • 云原生技术社区(kubernetes是世界第四活跃的开源项目)
  1. 教学大纲
  • 第一期:容器和kubernetes(课后自测题+云端实践)
  • 基础,更高级:代码剖析
  • 之后:service mesh,serviceless等高级概念
  1. 云原生概念:
  • docker:应用的最小可运行单位,不需要依赖Paas
  • 可扩展、可复制、敏捷;全新的软件开发、发布、运维
  • 容器技术是云原生技术的底盘
  1. 技术范畴
  • 第一部分是云应用定义与开发流程。这包括应用定义与镜像制作、配置 CI/CD、消息和 Streaming 以及数据库等。
  • 第二部分是云应用的编排与管理流程。这也是 Kubernetes 比较关注的一部分,包括了应用编排与调度、服务发现治理、远程调用、API 网关以及 Service Mesh。
  • 第三部分是监控与可观测性。这部分所强调的是云上应用如何进行监控、日志收集、Tracing 以及在云上如何实现破坏性测试,也就是混沌工程的概念。
  • 第四部分就是云原生的底层技术,比如容器运行时、云原生存储技术、云原生网络技术等。
  • 第五部分是云原生工具集,在前面的这些核心技术点之上,还有很多配套的生态或者周边的工具需要使用,比如流程自动化与配置管理、容器镜像仓库、云原生安全技术以及云端密码管理等。
  • 最后则是 Serverless。Serverless 是一种 PaaS 的特殊形态,它定义了一种更为“极端抽象”的应用编写方式,包含了 FaaS 和 BaaS 这样的概念。而无论是 FaaS 还是 BaaS,其最为典型的特点就是按实际使用计费(Pay as you go),因此 Serverless 计费也是重要的知识和概念。
  1. 理论基础:基础设施(容器镜像)+编排理论(容器设计模式)
  • 云上的更新基础设施:新服务替换旧服务
  • 自包含:包含所有依赖
  • 自运维:通过kubernetes来实现
  • 一致性且可靠性、自漂移、可扩展
  1. 技术点
  • 自包含、自定制的应用镜像
  • 快速部署和隔离
  • 基础设施创建和销毁的自动化管理
  • 可复制的管控和支撑组件
  1. 其他
  • 鸟哥的第一本linux
  • docker run、docker build
    • https://docs.docker.com/get-started/part2/
  • 云相关的分层
    • Iaas:infrastructure as a service (基础设施即服务)
    • Paas:platform as a service(平台即服务)
    • Saas:software as a service(软件即服务)
  1. 习题(不得不说,这个习题真不错)
  • Mesos(twitter)、Docker Swarm、Docker Swarm(SwarmKit)、Cloud Foundry哪个和k8s项目功能重合度最高
    • Mesos是一个分布式内核,目前发展方向是数据中心操作系统DCOS
    • Docker Swarm和k8s对比
      • Docker Swarm支持容器的跨宿主节点的集群管理, 后来发展SwarmKit与k8s参考链接
      • Swarm 的最新进化,是在2016年 6 月 DockerCon 大会上发布的 Docker 1.12 内置了 Docker 公司声称的“最佳的容器编排工具”——Swarm 模式(Swarm mode),引入了服务的概念,不再以容器作为主要管理对象单元,不再需要额外的KV存储支持服务模型,让扩容缩容、服务发现、滚动更新、负载均衡和路由等功能都更容易实现。
      • 作为 Docker 的编排模式,Swarm mode 是通过独立开发的 SwarmKit 项目来实现的。 的主要功能包括节点发现、基于raft算法的一致性和任务调度等。SwarmKit 通过 Containerd 类似的方式接入Docker Engine,最终通过新的 Docker API 对外提供容器集群服务。根据 Docker 公司的态度,Swarm mode 将会取代之前的 Docker Swarm。新的 Swarm 吸收了 Kubernetes 的一些优点,但作为内置的可选工具让开发者更易于使用——不用另外部署第三方的 Kubernetes 了。
    • Cloud Foundry, 也有基金会,认证的供应商Pivotal Cloud Foundry
    • Cloud Foundry最重要的特点是,它是一个PaaS。Kubernetes则不太像PaaS,有些人把它看做IaaS+ 参考这篇链接关于CF和k8s区别
    • Pivotal 2020年正式被vmware收购了,变成vmware的全资子公司
    • Pivotal的GemFire技术
  • 容器启动之后,ssh进入容器里面写了很多文件,破坏了云原生的理念
    • 一旦容器崩溃,这些文件就都丢失了
  • 容器化应用,会将日志文件写在路径写死的目录里面,这破坏了云原生理念
    • 日志文件应该写在外部的持久卷里面,不应该放在容器里
  • 考察是否是云原生的标准
    • 实例可以快速水平扩展
    • 应用可以使用镜像打包保证环境一致性
    • 应用数据是否写在容器数据卷(不应该)
      • 永久保存:应该写在k8s的数据卷
      • 容器的数据卷会随着容器的消失而消失
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值