Kubernetes 源码剖析与实战
孔令飞
前腾讯云专家工程师
437 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已更新 3 讲/共 55 讲
第一章 · 云原生核心知识 (2讲)
Kubernetes 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

02|云原生中有哪些核心技术栈?(上)

你好,我是孔令飞。
上一节课,我详细介绍了什么是云原生。云原生中包含了三大核心内容:云原生技术栈、方法论和云原生应用。其中,云原生技术栈是基石,所有云原生理念的落地,都依赖于这些技术栈的支持。那么,云原生技术栈具体有哪些呢?它们又有什么特性?以至于可以通过它们来实现云原生的各种理念。
本节课,我将详细介绍这些云原生技术栈。这些技术栈,在你今后的研发生涯中,也会持续不断地应用到。

云原生中有哪些核心技术栈?

Pivotal 公司和 CNCF 定义下的云原生在不同阶段分别包含了不同的技术栈,当前包含的技术栈如下(Pivotal 和 CNCF 的技术栈并集):
微服务
容器
服务网格
声明式 API
不可变基础设施
持续集成和持续交付(CI/CD)
DevOps
但在我看来,云原生核心技术栈中,还应该包括以下技术栈:
Kubernetes
Serverless
需要强调的是,上面这些云原生核心技术栈,都是以 Kubernetes 为基石来构建的。
因为云原生技术栈中的核心技术很多,所以我会分上下两节课来介绍。在本节课中,我将重点讲解以下核心技术栈:
微服务
容器
容器编排
Serverless

微服务(Microservice)

纵观云原生的发展历程,几乎所有对云原生的定义都包含了微服务,可见其重要性。微服务是一种软件架构方式,使用微服务架构,可以将一个大型应用程序按照功能模块拆分成多个独立自治的微服务,每个微服务仅实现一种功能,具有明确的边界。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. 云原生技术栈的核心内容包括微服务、容器、服务网格、声明式API、不可变基础设施、持续集成和持续交付(CI/CD)、DevOps,以及Kubernetes和Serverless。 2. 微服务架构的优点包括简化复杂应用、简化应用部署、灵活组合、可扩展性、技术异构性、高可靠性和高容错性,但也存在部署复杂、服务之间相互依赖、调用链难以追踪、测试困难等问题。 3. 容器化技术的代表项目是Docker,它具有轻量、易用、资源利用率高等优势,但在生产环境中可能存在容器数量庞大、集群化应用的问题。 4. Kubernetes是生产级别容器编排技术,通过网络通信、服务发现与负载均衡、滚动更新 & 回滚、自愈、安全配置管理、资源管理、自动伸缩、监控、服务健康检查等特性解决了Docker在生产环境中存在的问题。 5. Kubernetes采用Master-Worker架构模式,Master节点包括Kube API Server、Kube Scheduler、Kube Controller Manager、Cloud Controller Manager和Etcd,而Worker节点包括Kubelet、kube-proxy和Container Runtime。 6. Kubernetes的UI dashboard是官方提供的Web控制面板,而kubectl是Kubernetes的客户端工具,提供了丰富的命令和选项,用于操作Kubernetes集群。 7. Serverless是一种云计算模型,用户无需管理服务器资源,可以专注于编写和部署业务逻辑,应用程序在需要时才会运行,服务提供商负责底层基础设施的维护和管理。 8. Serverless具有特点包括无穷弹性计算能力、零运维、极致的伸缩能力和按量计费。 9. Serverless有四种技术形态,分别是云函数、Serverless容器、BaaS(Backend as a Service)、Serverless应用,其中Serverless容器是核心,云函数和BaaS起辅助作用。 10. 课程总结了微服务、容器、容器编排和Serverless的核心概念和特点,以及它们在云原生技术栈中的作用和优势。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kubernetes 源码剖析与实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 励研冰
    尝试回答下今天的问题 1、容器化应该是整个云原生的基石,k8s是负责对容器编排的上层建筑,微服务是一种软件架构,而这种架构能够在云原生中发挥出最大的优势,服务网格增强或者隔离容器间的通信,CICD支撑微服务无缝上云,prometheus提供线上监控,对于开发人员来说只需要关注整个流程中的两个端点即业务代码开发和prometheus的监控极可 2、微服务的提出是为了能够敏捷开发,技术上的异构,独立模块的快速迭代、容错、水平扩展等。但是微服务又引入的其他的问题,比如分布式事务,数据一致性,微服务间的通信!所谓天下分久必合 合久必分,最近又有一些声音是合单体,所以软件工程没有银弹,只有取舍,也没有谁好谁不好,只有谁更合适 3、选择微服务要看现在的团队能否驾驭以及目前的一个发展阶段。如果是项目初期单体先甩起来,快速验证市场!至于微服务带来的问题也要看各自的业务,没有解决问题的标准答案,适合自己业务的才是最好的
    2025-04-16归属地:上海
    1
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)