Add more practices

This commit is contained in:
Baohua Yang
2026-01-30 17:10:28 -08:00
parent fec2e506d9
commit cbfe75fe9b
6 changed files with 563 additions and 128 deletions

View File

@@ -1,20 +1,83 @@
# 简介
# Kubernetes 简介
![](../.gitbook/assets/kubernetes_logo.png)
Kubernetes Google 团队发起的开源项目它的目标是管理跨多个主机的容器提供基本的部署维护以及应用伸缩主要实现语言为 Go 语言Kubernetes
## 什么是 Kubernetes
* 易学轻量级简单容易理解
* 便携支持公有云私有云混合云以及多种云平台
* 可拓展模块化可插拔支持钩子可任意组合
* 自修复自动重调度自动重启自动复制
Kubernetes常简称为 K8s Google 开源的容器编排引擎如果说 Docker 解决了"如何打包和运送集装箱"的问题那么 Kubernetes 解决的就是"如何管理海量集装箱的调度、运行和维护"的问题
Kubernetes 构建于 Google 数十年经验一大半来源于 Google 生产环境规模的经验结合了社区最佳的想法和实践
它不仅仅是一个编排系统更是一个**云原生应用操作系统**
在分布式系统中部署调度伸缩一直是最为重要的也最为基础的功能Kubernetes 就是希望解决这一序列问题的
> **名字由来**Kubernetes 在希腊语中意为"舵手""飞行员"K8s 是因为 k s 之间有 8 个字母
Kubernetes 目前在[GitHub](https://github.com/kubernetes/kubernetes)进行维护。
---
### Kubernetes 能够运行在任何地方
## 为什么需要 Kubernetes
虽然 Kubernetes 最初是为 GCE 定制的是在后续版本中陆续增加了其他云平台的支持以及本地数据中心的支持
当我们在单机运行几个容器时Docker Compose 就足够了在生产环境中我们需要面对
- **多主机调度**容器应该运行在哪台机器上
- **自动恢复**容器崩溃了怎么办节点挂了怎么办
- **服务发现**容器 IP 变了其他服务怎么找到它
- **负载均衡**流量大了如何分发给多个副本
- **滚动更新**如何不中断服务升级应用
Kubernetes 完美解决了这些问题
---
## 核心概念
### Pod (豆荚)
Kubernetes 的最小调度单位一个 Pod 可以包含一个或多个紧密协作的容器共享网络和存储就像豌豆荚里的豌豆一样
### Node (节点)
运行 Pod 的物理机或虚拟机
### Deployment (部署)
定义应用的期望状态需要 3 个副本镜像版本为 v1K8s 会持续确保当前状态符合期望状态
### 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 架构 **Master (控制平面)** **Worker (工作节点)** 组成
- **Control Plane**负责决策API Server, Scheduler, Controller Manager, etcd
- **Worker Node**负责干活Kubelet, Kube-proxy, Container Runtime
---
## 学习建议
Kubernetes 的学习曲线较陡峭建议的学习路径
1. **理解基本概念**Pod, Deployment, Service
2. **动手实践**使用 Minikube Kind 在本地搭建集群
3. **部署应用**编写 YAML 部署一个无状态应用
4. **深入原理**网络模型存储机制调度算法
---
## 延伸阅读
- [Minikube 安装](../kubernetes/setup/README.md)本地体验 K8s
- [Kubernetes 官网](https://kubernetes.io/):官方文档