干货 到底什么是云原生?_开源 原生是什么,2024年最新2024最新网易Linux运维面经

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。

除了CNCF之外,网络上还流传着另一个版本的“云原生”定义和来源——

这种说法认为,是Pivotal公司的Matt Stine,于2013年首次提出云原生概念。

2015年,云原生刚推广时,Matt Stine在《迁移到云原生架构》一书中定义了符合云原生架构的几个特征:12因素、微服务、自敏捷架构、基于API 协作、扛脆弱性。

到了2017年,Matt Stine改了口风,将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质。而Pivotal官网对云原生概括为4个要点:DevOps+持续交付+微服务+容器

云原生所需能力与特征    by:CNCF大使 宋净超

MattStine认为云原生它是一个思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等。

云原生既包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定律,重组等),可以说是一系列云技术、企业管理方法的集合。

我们还是以CNCF官方的定义为准吧。

按CNCF的定义,云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。那么,这些技术都是什么?这些技术有什么联系?

云原生的代表技术

  • 容器

一般我们说的“容器”(LinuxContainer,LXC),都是“Linux容器”(当然微软也在搞容器,但还没linux那么成熟)。

开源解决方案供应商红帽官网给出的容器定义:Linux® 容器是与系统其他部分隔离开的一系列进程。

运行这些进程所需的所有文件都由另一个镜像提供,这意味着从开发到测试再到生产的整个过程中,Linux 容器都具有可移植性和一致性。

因而,相对于依赖重复传统测试环境的开发渠道,容器的运行速度要快得多。容器比较普遍也易于使用,因此也成了 IT 安全方面的重要组成部分。

容器提供进程级的隔离,可以将操作系统管理的资源划分到相互隔离的组中,在相互隔离的组之间解决资源使用存在冲突的问题。

比如应用程序(Application)APP 1 ,只能在centos 操作系统上运行;APP2只能在ubuntu操作系统上运行。而同一个操作系统同时运行APP1和APP2就产生冲突。容器技术则恰恰可以解决这类问题。目前主流的容器技术有Docker、LXD以及RKT等。

  • Docker

说到容器,就不得不说Docker。2010年,几个大胡子的年轻人在美国旧金山成立了一家名叫“dotCloud”的公司。这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。LXC,就是Linux容器虚拟技术(Linux container)

后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。

Docker项目发布时,无非也是LXC的一个使用者。它创建和使用应用容器的逻辑跟Warden等竞争对手没有本质不同。

不过,我们现在也知道,真正让PaaS项目无所适从的,是Docker项目最厉害的杀手锏:容器镜像**。**

Docker项目通过容器镜像,直接将一个应用运行所需的完整环境,即:整个操作系统的文件系统也打包了进去。

这种思路,可算是解决了困扰PaaS用户已久的一致性问题,制作一个“一次发布、随处运行”的Docker镜像的意义,一下子就比制作一个连开发和测试环境都无法统一的Buildpack高明了太多。

Docker项目大大降低了容器技术的使用门槛。轻量级,可移植,虚拟化,语言无关,写了程序扔上去做成镜像可以随处部署和运行,开发、测试和生产环境彻底统一了,还能进行资源管控和虚拟化。

Docker作为一种开源应用容器引擎,是为开发人员和系统管理员设计的用于构建、发布和运行分布式应用的平台,典型的Docker平台Kubernetes、Openshift V3、Flynn、Deis等。

Docker允许开发人员将各种应用以及依赖包打包到一个可移植的Docker容器中,以Docker容器为资源分割和调度的基本单位,封装整个软件运行时的环境,然后发布到Linux机器上。

按照Docker的设计方案,应用软件的交付过程如同海上运输,操作系统OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱。

用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员(开发人员或系统管理员)定制。

如此一来,交付一个应用软件产品,就相当于交付一系列标准化组件的集合。

  • Kubernetes

有了容器,就需要编排管理容器的生命周期。这里就要提到kubernetes。

Kubernetes,这个单词来自于希腊语,含义是舵手或领航员。K8s是它的缩写,用“8”字替代了“ubernete”这8个字符。

K8s并不是一件全新的发明。它是谷歌根据其内部使用的 Borg 改造成的一个通用容器编排调度器,于2014年6月开源。同年7月,微软、Red Hat、IBM、Docker等公司,相继加入K8s。

2015年,谷歌将其捐赠给Linux基金会下属的云原生计算基金会(CNCF),K8s也成为CNCF第一个项目。

云可以为我们提供稳定而唾手可得的基础设施,但是业务上云成了一个难题,K8s 的出现与其说是从最初的容器编排解决方案开始,倒不如说是为了解决应用上云(即云原生应用)这个难题。

CNCF中托管的一系列项目,即致力于云原生应用整个生命周期的管理,从部署平台、日志收集、Service Mesh(服务网格)、服务发现、分布式追踪、监控以及安全等各个领域通过开源软件为我们提供一整套解决方案。

Kubernetes作为云应用的部署标准,直接面向业务应用,大大提高了云应用的可移植性,解决云厂商锁定的问题,让云应用可以在夸云之间无缝迁移,甚至用来管理混合云,成为企业 IT 云平台的新标准。

  • 微服务

微服务需要从两个方面去理解:什么是"微"、什么是"服务"。微,狭义来讲就是体积小。

著名的 “2 pizza 团队” 很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来只需要2个披萨就够了)。

而所谓服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。

传统的单体架构,是以整个系统为单位进行部署。而微服务,则是以每一个独立组件(例如用户服务,商品服务)为单位进行部署。

对于单体应用,如果发现某一业务的请求量非常大,那么是无法单独扩展该业务的,只能拷贝整个单体应用,再部署一套环境,来实现集群。

正因为单体应用的缺陷,才有了微服务。微服务和单体应用的区别,可以用Martin Fowler的这张图来解释:

图中左边是单体架构的集群,右边是微服务集群。

什么意思呢?比如根据每个服务的吞吐量不同,支付服务需要部署20台机器,用户服务需要部署30台机器,而商品服务只需要部署10台机器。这种灵活部署只有微服务架构才能实现。而近几年流行的Docker,为微服务架构提供了有效的容器。

  • 服务网格

服务网格( Service Mesh ),是指用以处理服务与服务之间通信的基础设施层。其最早由Buoyant公司(开发Service Mesh项目Linkerd的公司)提出,并在内部使用。该公司2016年9月29日第一次公开使用这个术语。

Service Mesh一般用于微服务应用的可配置基础架构层( configurable infrastructure layer )。Istio( 由Google、IBM、Lyft公司在背后进行支持 ) 是目前最广为人知的一款服务网格架构。

Kubernetes是目前Istio唯一支持的容器组织框架。为什么Service Mesh这么受欢迎?对许多公司来说,Docker和Kubernetes这样的工具已经 “解决了部署问题”,或者说几乎解决了。但他们还没有解决运行时的问题,这就是服务网格的由来。

什么是解决了部署问题?

使用 Docker 和 Kubernetes 等功能可显著减轻部署的增量操作负担。使用这些工具,部署100个应用或服务不再是部署单个应用的100倍。

这是向前迈出的一大步。对许多公司来说,这导致采用微服务的成本大幅降低。这不仅是因为Docker和Kubernetes所提供了强大的抽象,而且还因为它们使整个组织的打包和部署模式过程标准化了。

Service Mesh的出现,弥补了Kubernetes在微服务的连接、管理和监控方面的短板,为Kubernetes提供更好的应用和服务管理。

因此,Service Mesh的代表Istio一经推出,就被认为是可以和Kubernetes形成双剑合璧效果的微服务管理的利器,受到了业界的推崇。

  • 不可变基础设施

在传统的可变服务器基础架构中,服务器会不断更新和修改。

使用此类基础架构的工程师和管理员可以通过SSH连接到他们的服务器,手动升级或降级软件包,逐个服务器地调整配置文件,以及将新代码直接部署到现有服务器上。

换句话说,这些服务器是可变的。它们可以在创建后进行更改。

可变基础设施通常会导致以下问题:

在灾难发生的时候,难以重新构建服务。持续过多的手工操作,缺乏记录,会导致很难由标准初始化后的服务器来重新构建起等效的服务。

在服务运行过程中,持续的修改服务器,就犹如程序中的可变变量的值发生变化而引入的状态不一致的并发风险。这些对于服务器的修改,同样会引入中间状态,从而导致不可预知的问题。

不可变基础架构是另一种基础架构范例,其中服务器在部署后永远不会被修改。

程序设计中不可变变量(ImmutableVariable)就是在完成赋值后就不能发生更改,只能创建新的来整体替换旧的。由于具有这样的特性这种变量可以在并发环境下安全的使用。对于基础设施的不可变性,最基本的就是指运行服务的服务器在完成部署后,就不在进行更改。

不可变基础架构的好处,包括基础架构中更高的一致性和可靠性,以及更简单,更可预测的部署过程。

它可以缓解或完全防止可变基础架构中常见的问题,例如配置漂移和雪花服务器。但是,有效地使用它通常包括全面的部署自动化,云计算环境中的快速服务器配置,以及处理状态或短暂数据(如日志)的解决方案。

  • 声明式API

声明式(Declarative)的编程方式一直都会被工程师们拿来与命令式(Imperative)进行对比。

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-2RQ3NRsU-1713596522748)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值