《凤凰架构》读书笔记——第11章 虚拟化容器

本文概述了容器技术的发展历程,从chroot、namespace到Docker和Kubernetes的封装,强调了Kubernetes的资源管理和反馈控制理念。同时讨论了简化Kubernetes使用的方法,如Kustomize、Helm、CRD/Operator和OAM在云原生中的角色。

一、容器发展历程:

  • 源于chroot、namespace和cgroups等内核能力,LXC在此基础上做了封装,Docker又在LXC上做了封装,Kubernetes又在Docker之上做了封装。(Docker和Kubernetes后来直接访问底层能力了,例如Kubernetes为了减少这种层次调用,直接绕过Docker,使用更底层的能力Container)

二、Kubernetes的两大核心设计理念:

  1. 一切皆视为资源,不同资源之间依靠层级关系互相组合和协作。
  2. 由控制器控制资源的状态。(反馈控制)

三、Kubernetes学习和使用还是很复杂的,因此未来云原生的方向是简化使用。有4个方向:

  1. Kubernetes官方的Kustomize,通过基于一个基准配置,开发人员和运维人员分配在不同阶段对配置内容进行覆盖和扩展。但是功能仅限于安装部署,且仅减少了重复配置工作。
  2. Helm与Chart,模仿Linux包管理器的思路去管理Kubernetes应用。但无法很好地管理有状态的应用。
  3. Operator与CRD,通过为CR(自定义资源)开发Operator(控制器),实现将复杂的配置封装在资源和控制器的定义中,用户只需要简单的配置就可以应用该资源。这些控制器一般由资源(软件)厂商开发。这种方式很符合Kubernetes的设计理念。
  4. 开放应用模型(OAM),由阿里云和微软发布,基本思想是把配置进行拆解,开发和运维分别负责不同的配置(Component和Trait),基础设施提供方负责将自定义资源映射到实际的基础设施。我觉得这个思想跟Kustomize有点像,不同的是OAM涉及到对云基础设施的考量。

资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 《凤凰架构:构建可靠的大型分布式系统》是一份开源文档,旨在为技术人员提供构建可信大型分布式软件系统的框架与方法论。分布式系统由多个分布在不同网络节点上的组件组成,通过消息传递和分布式协调完成任务。随着技术发展,其构建复杂性与可靠性要求不断提升。文档中强调的分布式存储是关键部分,用于持久化存储数据,并具备高可用性和扩展性。它通常具有数据冗余、一致性和分区容错性等特点,常见系统如HDFS、Cassandra、MongoDB等。 容器技术也是现代分布式系统的核心,为应用提供轻量级、高效的运行环境。其优势在于快速启动、良好隔离性以及一致的运行环境。Docker作为容器技术的代表,已成为行业标准。容器化与编排工具Kubernetes的结合,使容器在大规模分布式系统中的管理与部署更加高效自动化。 凤凰架构是作者基于实践经验总结的理论框架,帮助技术人员掌握构建现代分布式系统的关键技术,如微服务、服务网格和无服务架构。微服务架构将单一应用拆分为多个小服务,实现独立开发、部署和扩展,是大型企业级软件的常见架构。服务网格是处理服务间通信的基础设施层,提供服务发现、负载均衡、故障恢复和监控等功能。无服务架构(Serverless)则进一步抽象计算资源,让开发者专注于业务逻辑,将基础设施问题交给云服务提供商处理。 文档的使用方式多样,包括在线阅读和离线阅读。在线阅读可通过GitHub Pages访问,利用Travis-CI实现持续集成和CDN加速。离线阅读需克隆源码、安装依赖并编译。文档还支持自动生成PDF文件,并提供技术演示工程,展示理论知识的实际应用,包括配套工程的使用方法和环境搭建步骤。文档的开放性鼓励读者阅读、使用、二次演绎、传播和发行,只需遵循知识共享协议。这种开放态度有助于知识流通、技术交流以及文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值