Restruct and reorder chapters

This commit is contained in:
Baohua Yang
2026-02-21 22:22:17 -08:00
parent 2ab40eacc0
commit 33af380be1
141 changed files with 154 additions and 182 deletions

View File

@@ -0,0 +1,95 @@
## Kubernetes 简介
如图 12-1 所示Kubernetes 使用舵手图标作为项目标识
![Kubernetes 标识](./_images/kubernetes_logo.png)
12-1 Kubernetes 项目标识
### 什么是 Kubernetes
Kubernetes (常简称为 K8s) Google 开源的容器编排引擎如果说 Docker 解决了 如何打包和运送集装箱 的问题那么 Kubernetes 解决的就是 如何管理海量集装箱的调度运行和维护 的问题
它不仅仅是一个编排系统更是一个 **云原生应用操作系统**
> **名字由来**Kubernetes 在希腊语中意为 舵手 飞行员K8s 是因为 k s 之间有 8 个字母
---
### 为什么需要 Kubernetes
当我们在单机运行几个容器时Docker Compose 就足够了但在生产环境中我们需要面对
- **多主机调度**容器应该运行在哪台机器上
- **自动恢复**容器崩溃了怎么办节点挂了怎么办
- **服务发现**容器 IP 变了其他服务怎么找到它
- **负载均衡**流量大了如何分发给多个副本
- **滚动更新**如何不中断服务升级应用
Kubernetes 完美解决了这些问题
---
### 核心概念
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### Pod (豆荚)
Kubernetes 的最小调度单位一个 Pod 可以包含一个或多个紧密协作的容器 (共享网络和存储)就像豌豆荚里的豌豆一样
#### Node (节点)
运行 Pod 的物理机或虚拟机
#### Deployment (部署)
定义应用的期望状态 (需要 3 个副本镜像版本为 v1)K8s 会持续确保当前状态符合期望状态
#### Service (服务)
定义一组 Pod 的访问策略提供稳定的 Cluster IP DNS 名称负责负载均衡
#### Namespace (命名空间)
用于多租户资源隔离
---
### Docker 用户如何过渡
如果你已经熟悉 Docker学习 K8s 会很容易
| Docker 概念 | Kubernetes 概念 | 说明 |
|------------|----------------|------|
| Container | Pod | K8s 增加了一层 Pod 包装 |
| Volume | PersistentVolume | K8s 的存储更加抽象和强大 |
| Network | Service/Ingress| K8s 的网络模型更扁平 |
| Compose | Deployment + Service | 声明式配置的理念是一致的 |
---
### 架构
Kubernetes 也是 C/S 架构 **Control Plane (控制平面)** **Worker Node (工作节点)** 组成
- **Control Plane**负责决策 (API ServerSchedulerController Manageretcd)
- **Worker Node**负责干活 (KubeletKube-proxyContainer Runtime)
---
### 学习建议
Kubernetes 的学习曲线较陡峭建议的学习路径
1. **理解基本概念**PodDeploymentService
2. **动手实践**使用 Minikube Kind 在本地搭建集群
3. **部署应用**编写 YAML 部署一个无状态应用
4. **深入原理**网络模型存储机制调度算法
---
### 延伸阅读
- [Minikube 安装](../setup/README.md)本地体验 K8s
- [Kubernetes 官网](https://kubernetes.io/):官方文档