云原生00-什么是云原生
2022-11-08 / 可可西里
1. 什么是云原生
在包括公有云、私有云、混合云等动态环境中构建和运行规模化应用的能力
云原生是一种思想,是技术、企业管理方法的集合
- 技术层面
- 应用程序从设计之初就为在云上运行而做好准备
- 云平台基于自动化体系
- 流程层面
- 基于 DevOps,CI/CD
- 技术层面
基于多种手段
- 应用容器化封装
- 服务网格
- 不可变基础架构
- 声明式 API
云原生的意义
- 提升系统的适应性、可管理性、可观察性
- 使工程师能以最小成本进行频繁和可预测的系统变更
- 提升速度和效率,助力业务成长,缩短 I2M(Idea to Market)
2. 云原生核心项目概览

3. kube-proxy 是干啥用的
3.1 官方文档
官方文档:点击跳转
kube-proxy uses the operating system packet filtering layer if there is one and it’s available. Otherwise, kube-proxy forwards the traffic itself.
3.2 看看前人是怎么解读的
搜中文文档,知乎,CSDN,简书都有比较高质量的文章,可以多看一些文档,并理解不同人 的理解差异
知乎:点击跳转
中文世界Kubernetes非常活跃,不少文档质量超过英文。但中文搬运转载问题比较严重,需要自己甄别
3.3 找关键知识点
- 先对大概的框架有认识
- kube-proxy 监听 API server 中 资源对象的变化情况,包括以下三种:
- service
- endpoint/endpointslices
- node
- 目前 Kube-proxy 支持4中代理模式:
- userspace
- iptables
- ipvs
- kernelspace(windows)
3.4 由点到面稍稍展开一下
由浅入深的理解,成为专家
- 入门:可以使用,知道怎么用,大概做了什么
- 初级:粗略理解配置方法
- 高级:理解不同模式的差异,理解为什么要有多种模式,理解配置细节
- 专家级:理解完整的内核协议栈处理数据包的流程,能够举一反三

4. 如何学习云原生技术
代码驱动
- 掌握 Go 语言编程能力
从点到面
- cgroup、namespace
- 网络协议栈
- 文件系统
抓住核心掌控全局
- 深入理解 Kubernetes
- API 定义
- 控制器模式
- 核心组件
- 深入理解 Kubernetes
大规模生产化
- 多集群
- 服务网格和多网格
本文链接:
https://huajun-chen.github.io/2022/11/08/云原生00-什么是云原生/