Helm是Kubernetes的包管理器,类似于Linux的yum/apt,可以简化应用的安装、升级和管理。
本文系统介绍Helm的核心概念、Chart开发和实战应用,帮助你掌握K8s应用管理的最佳实践。
一、Helm概述
1.1 核心概念
| 概念 | 说明 |
|---|---|
| Chart | 应用包,包含所有K8s资源定义 |
| Repository | Chart仓库 |
| Release | Chart的运行实例 |
| Values | 配置参数 |
Helm是Kubernetes的包管理器,类似于Linux的yum/apt,可以简化应用的安装、升级和管理。
本文系统介绍Helm的核心概念、Chart开发和实战应用,帮助你掌握K8s应用管理的最佳实践。
| 概念 | 说明 |
|---|---|
| Chart | 应用包,包含所有K8s资源定义 |
| Repository | Chart仓库 |
| Release | Chart的运行实例 |
| Values | 配置参数 |
Istio是服务网格的事实标准,提供流量管理、安全、可观测性等能力,是微服务治理的终极方案。
本文系统介绍Istio的核心概念、架构设计和生产实践,帮助你掌握服务网格的精髓。
微服务治理问题:
┌─────────────────────────────────────────────────────────────┐
│ 传统微服务治理 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ 服务A │ │ 服务B │ │ 服务C │ │
│ │ ├─ 熔断 │ │ ├─ 熔断 │ │ ├─ 熔断 │ │
│ │ ├─ 限流 │ │ ├─ 限流 │ │ ├─ 限流 │ │
│ │ ├─ 负载均衡│ │ ├─ 负载均衡│ │ ├─ 负载均衡 │ │
│ │ └─ 链路追踪│ │ └─ 链路追踪│ │ └─ 链路追踪 │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ 问题:治理逻辑与业务代码耦合,维护成本高 │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ 服务网格治理 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ 服务A │ │ 服务B │ │ 服务C │ │
│ │ (业务代码) │ │ (业务代码) │ │ (业务代码) │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────────────┘ │
│ │ │ │ │
│ ┌──────┴──────────────┴──────────────┴──────────────┐ │
│ │ Sidecar Proxy │ │
│ │ ├─ 流量管理 ├─ 安全策略 ├─ 可观测性 ├─ 遥测 │ │
│ └───────────────────────────────────────────────────┘ │
│ 优势:治理逻辑与业务代码解耦,统一管理 │
└─────────────────────────────────────────────────────────────┘
Kubernetes是云原生时代的容器编排标准,理解其架构设计是部署和管理微服务的基础。
本文深入剖析Kubernetes的核心架构、组件功能和工作原理,帮助你掌握容器编排的精髓。
| 能力 | 说明 |
|---|---|
| 自动装箱 | 自动调度Pod到节点 |
| 自我修复 | 自动重启失败容器 |
| 水平扩展 | 根据负载自动扩缩容 |
| 服务发现 | 自动注册和发现服务 |
| 滚动更新 | 零停机部署 |
| 存储编排 | 自动挂载存储系统 |
Kubernetes是容器编排领域的标准,它为容器化应用提供了自动化部署、扩缩容和管理能力。
本文介绍了Kubernetes的核心概念和实践经验,帮助你构建云原生应用。
假设你要在 K8s 上管理一个 MySQL 主从集群,传统做法需要:
每次操作都要人工介入,这不"云原生"。
Kubernetes是容器编排领域的标准,它为容器化应用提供了自动化部署、扩缩容和管理能力。
本文介绍了Kubernetes的核心概念和实践经验,帮助你构建云原生应用。
容器的文件系统是临时的——容器重启后数据就没了。早期 Docker 用 Volume 挂载宿主机目录,但这在 K8s 中行不通:
所以 K8s 设计了一套存储抽象体系:
Kubernetes是容器编排领域的标准,它为容器化应用提供了自动化部署、扩缩容和管理能力。
本文介绍了Kubernetes的核心概念和实践经验,帮助你构建云原生应用。
很多初学者认为 Pod 就是"包着一组容器的壳",但这个理解太浅了。Pod 是 K8s 中最小的可调度单元,它存在的意义是:
负载均衡算法深度解析:从Nginx到云原生是分布式系统中的核心话题,它涉及数据一致性、可用性和分区容错等关键挑战。
本文深入分析了负载均衡算法深度解析:从Nginx到云原生的原理和解决方案,帮助你构建可靠的分布式系统。
ISO/OSI 模型:
第7层 (应用层): HTTP/HTTPS
└─ 可以看到请求内容 (URL、Header、Body)
└─ 路由粒度细 (基于URL/Host/Cookie)
└─ 性能: 中等 (需要解析HTTP)
└─ 例: Nginx、HAProxy、Envoy
第4层 (传输层): TCP/UDP
└─ 只能看到IP+Port
└─ 路由粒度粗 (仅基于IP+Port)
└─ 性能: 高 (无需解析应用层)
└─ 例: LVS、F5、云Load Balancer
┌─────────────────────────┐
│ Client │
│ 127.0.0.1:12345 │
└────────────┬────────────┘
│ TCP/IP
┌────────▼────────┐
│ Layer 4 LB │ ← 只看IP:Port,极快
│ 10.0.0.1:80 │
└────────┬────────┘
│
┌────────▼────────┐
│ Layer 7 LB │ ← 解析HTTP,精细控制
│ Nginx/Envoy │
└────────┬────────┘
│
┌────────┴────────┐
▼ ▼
Backend1 Backend2