Kubernetes 学习笔记样式
学一门基础设施技术时,先抓住它解决的问题,再补齐核心对象和最小实践路径。命令可以慢慢记,模型要先跑通。
Kubernetes 官方文档
官方概念、任务和参考手册入口
Kind 快速开始
用 Docker 容器快速启动本地 Kubernetes 集群
它适合解决什么
Kubernetes 不是单纯的容器启动工具,它更像是一套集群应用的调度与治理系统。它关心的是应用应该跑在哪里、挂掉后如何恢复、多个副本如何被访问,以及版本变更如何平滑地发布。
当服务数量还很少时,手动管理容器没有问题;当服务数量、节点数量和发布频率一起上升时,就需要一个系统持续维持“期望状态”。
先理解四个对象
Pod
Pod 是最小调度单元。初学时可以把它理解成“一组需要一起调度、共享网络和存储上下文的容器”。
Deployment
Deployment 用来描述应用副本的期望状态。比如声明需要 3 个副本,系统会持续尝试让真实状态靠近期望状态。
Service
Service 给一组 Pod 提供稳定访问入口。Pod 会变化,但 Service 负责把访问流量导向当前可用的后端。
Namespace
Namespace 用来做逻辑隔离。团队、环境、项目都可以用它划分资源边界。
最小上手路径
第一次学习不需要直接上生产集群,先在本地跑通闭环更重要。
- 安装一个本地集群工具,比如 Kind 或 Minikube。
- 用
kubectl创建一个简单的 Deployment。 - 暴露一个 Service,并用端口转发访问它。
- 调整副本数,观察 Pod 如何增减。
- 做一次滚动更新,再做一次回滚。
常用命令
# 查看集群信息
kubectl cluster-info
# 查看节点
kubectl get nodes
# 查看默认命名空间中的 Pod
kubectl get pods
# 创建一个示例应用
kubectl create deployment nginx --image=nginx
# 扩容到三个副本
kubectl scale deployment nginx --replicas=3
# 暴露服务
kubectl expose deployment nginx --port=80 --type=NodePort
# 删除示例应用
kubectl delete deployment nginx继续学习
Kubernetes Tutorials
适合逐步练习的官方教程集合
Services and Networking
理解 Service、Ingress 和集群网络的起点
