如何从零开始学习云原生

什么是云原生

云原生以容器、微服务、DevOps,持续交付等技术为基础建立的一套云技术产品体系。这是一种新型技术体系,是云计算未来的发展方向。从1999年到2024年,本地部署和市场云化此消彼长,企业上云的速度随着虚拟化等技术的发展大大加快,未来可能将成为各大企业的一项基础能力。所以作为一名刚入行或资深的工程师,我觉得都应该对云原生相关的概念和技术了解,提升自己的核心竞争力。

如何从零开始学习云原生

云原生技术体系非常的庞大,我们可能经常听到docker,k8s(kubernetes)等相关的名词,其实并不止于此。

先来看一张图:

这是来自CNCF(原生计算基金会)的云原生全景图,链接:landscape.cncf.io/,这里描述了云原生相关领域的项目,主要还是围绕着容器编排,治理,监控等建立起来的生态,全景图已经包含了云原生应用所关联的方方面面,可以给我们一个学习的方向与指示。

但是大家也不要害怕,看到这么多密密麻麻的项目,大家也不用对每个项目都进行深入的研究,毕竟如果能研究并实现出其中一个项目就已经很牛逼了。但是如果只是为了了解基本的概念那就更简单了。

学习路线

1. 了解云计算基础概念:

云原生是建立在云计算基础上的,因此首先需要对云计算的基本概念、服务模型(如IaaS、PaaS、SaaS)和部署模型(如公有云、私有云、混合云)有基本了解。

kubernetes

云原生中最重要的就是Kubernetes,简称k8s。所以我们的学习核心就是k8s,根据k8s辐射到云原生学习的其他领域,k8s可以说是云原生时代的操作系统,内部的设计是非常的复杂,每一个设计都有他运用的领域,我们可以先尝试去理解里面的一些基本概念,比如Node,Pod,Service等资源对象,慢慢的去了解k8s的网络原理,存储原理,核心组件的运行机制,k8s的拓展等等深入的知识。

推荐一些学习k8s资源:

2. 学习容器技术:

云原生应用通常以容器的形式进行部署和管理。学习Docker等容器技术,了解容器的基本原理、使用方法和常见工具。掌握如何创建、运行和管理容器化应用。

推荐学习资料:

  • Docker技术入门与实战,学习下一些docker的操作命令,知道如何去操作镜像,打包镜像等即可
  • container-runtime

3. 掌握容器编排工具:

容器编排工具用于管理和编排多个容器组成的应用程序。学习Kubernetes这样的容器编排工具,了解集群管理、服务发现、负载均衡、自动伸缩等核心概念和操作。

推荐学习资料:

-coordination-service-discovery

4. 代理网关:

云原生应用通常采用微服务架构,将应用拆分为一组小型、独立部署的服务。学习微服务架构的原理、设计模式、通信方式和治理方法。了解如何构建、测试和部署微服务应用。

5. 熟悉持续集成和持续部署(CI/CD):

云原生应用的开发和交付通常采用CI/CD流程。学习CI/CD的概念、工具和实践,包括源代码管理、自动化构建、测试和部署等方面。

6. 服务注册发现

k8s的数据都存储在etcd中,甚至还能自己服务注册与服务发现,我们需要了解一下服务注册,服务发现,配置中心,注册中心等相关的内容

7. 分布式存储

云原生存储脱胎于云存储,除云存储的特性外、须满足具备云原生生态系统中其他所有组件具备相同的动态(公共云/专有云/混合云等场景)构建可扩展应用、S3 API 驱动、K8S友好等

8. 可观测性

云原生观测可以采集系统提供的任何数据------日志、调用链、度量或事件,并允许团队在全部堆栈(基础设施、应用、业务)中检测和纠正问题。云原生观测还在适当的上下文中提供数据,而且它让企业掌握了采集数据的控制权

9. 学习云原生基础设施:

云原生应用的部署和管理依赖于云原生基础设施,如云原生存储、网络和监控。了解云原生基础设施的概念、特性和常用技术,如云原生存储系统、服务网格等,我们需要对其都有一定了解。

记住,云原生是一个广阔而复杂的领域,需要时间和实践来逐步掌握。坚持学习、实践和不断提升是成为云原生专业人员的关键。

相关推荐
叶北辰CHINA35 分钟前
nginx反向代理,负载均衡,HTTP配置简述(说人话)
linux·运维·nginx·http·云原生·https·负载均衡
团儿.1 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
王彬泽1 小时前
【微服务】服务注册与发现、分布式配置管理 - Nacos
微服务·服务注册与发现·分布式配置管理
Lansonli2 小时前
云原生(四十八) | Nginx软件安装部署
nginx·云原生·ecs服务器
艾伦~耶格尔11 小时前
Spring Boot 三层架构开发模式入门
java·spring boot·后端·架构·三层架构
唐大爹11 小时前
项目实战:k8s部署考试系统
云原生·容器·kubernetes
攸攸太上11 小时前
Spring Gateway学习
java·后端·学习·spring·微服务·gateway
_.Switch14 小时前
Python机器学习框架介绍和入门案例:Scikit-learn、TensorFlow与Keras、PyTorch
python·机器学习·架构·tensorflow·keras·scikit-learn
一直在进步的派大星15 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
Zl15975315975318 小时前
k8s基础环境部署
云原生·容器·kubernetes