阿里云《云原生》公开课笔记 第一章 云原生启蒙
阿里云《云原生》公开课笔记 第一章 第一讲课程课件:https://edu.aliyun.com/lesson_1651_16823?spm=5176.10731542.0.0.58ef20beiGWfiF#_16823云原生技术发展史2004-2007,google使用cgroup技术2008,google将cgroup合并到linux内核2013年docker项目发布2014...
·
阿里云《云原生》公开课笔记 第一章 第一讲
课程课件:https://edu.aliyun.com/lesson_1651_16823?spm=5176.10731542.0.0.58ef20beiGWfiF#_16823
- 云原生技术发展史
- 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,熟悉云原生架构
- 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是世界第四活跃的开源项目)
- 教学大纲
- 第一期:容器和kubernetes(课后自测题+云端实践)
- 基础,更高级:代码剖析
- 之后:service mesh,serviceless等高级概念
- 云原生概念:
- docker:应用的最小可运行单位,不需要依赖Paas
- 可扩展、可复制、敏捷;全新的软件开发、发布、运维
- 容器技术是云原生技术的底盘
- 技术范畴
- 第一部分是云应用定义与开发流程。这包括应用定义与镜像制作、配置 CI/CD、消息和 Streaming 以及数据库等。
- 第二部分是云应用的编排与管理流程。这也是 Kubernetes 比较关注的一部分,包括了应用编排与调度、服务发现治理、远程调用、API 网关以及 Service Mesh。
- 第三部分是监控与可观测性。这部分所强调的是云上应用如何进行监控、日志收集、Tracing 以及在云上如何实现破坏性测试,也就是混沌工程的概念。
- 第四部分就是云原生的底层技术,比如容器运行时、云原生存储技术、云原生网络技术等。
- 第五部分是云原生工具集,在前面的这些核心技术点之上,还有很多配套的生态或者周边的工具需要使用,比如流程自动化与配置管理、容器镜像仓库、云原生安全技术以及云端密码管理等。
- 最后则是 Serverless。Serverless 是一种 PaaS 的特殊形态,它定义了一种更为“极端抽象”的应用编写方式,包含了 FaaS 和 BaaS 这样的概念。而无论是 FaaS 还是 BaaS,其最为典型的特点就是按实际使用计费(Pay as you go),因此 Serverless 计费也是重要的知识和概念。
- 理论基础:基础设施(容器镜像)+编排理论(容器设计模式)
- 云上的更新基础设施:新服务替换旧服务
- 自包含:包含所有依赖
- 自运维:通过kubernetes来实现
- 一致性且可靠性、自漂移、可扩展
- 技术点
- 自包含、自定制的应用镜像
- 快速部署和隔离
- 基础设施创建和销毁的自动化管理
- 可复制的管控和支撑组件
- 其他
- 鸟哥的第一本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(软件即服务)
- 习题(不得不说,这个习题真不错)
- 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条内容
所有评论(0)