Kubernetes #

什么是Kubernetes? #

Kubernetes(简称K8s)是一个开源的容器编排平台,由Google开发并捐赠给云原生计算基金会(CNCF)。它用于自动化部署、扩展和管理容器化应用程序,是云原生技术的核心基础设施。

Kubernetes的优势 #

优势 说明
自动化部署 声明式配置,自动化部署应用
弹性伸缩 自动水平扩展,应对流量变化
自我修复 自动重启、替换、重新调度容器
负载均衡 内置服务发现和负载均衡
滚动更新 无缝升级,零停机部署
存储编排 自动挂载存储系统
密钥管理 安全管理敏感信息
可移植性 支持多云、混合云部署

文档结构 #

本指南按以下结构组织,适合初学者按顺序学习:

1. 基础入门 #

主题 描述 文档链接
Kubernetes简介 发展历史、特点、核心概念 kubernetes-intro.md
环境搭建 安装方式、集群配置 kubernetes-install.md
第一个应用 部署应用、访问服务 first-application.md
kubectl命令行工具 常用命令、配置管理 kubectl-basics.md

2. 核心概念 #

主题 描述 文档链接
架构概述 Master节点、Node节点、组件 architecture.md
Pod详解 Pod生命周期、多容器模式 pod.md
命名空间 资源隔离、多租户管理 namespace.md
标签与选择器 资源标记、查询过滤 labels-selectors.md

3. 工作负载 #

主题 描述 文档链接
Deployment 无状态应用部署、滚动更新 deployment.md
ReplicaSet 副本控制器、Pod数量管理 replicaset.md
StatefulSet 有状态应用部署、稳定标识 statefulset.md
DaemonSet 守护进程、节点代理 daemonset.md
Job与CronJob 批处理任务、定时任务 job-cronjob.md

4. 服务与网络 #

主题 描述 文档链接
Service服务 服务暴露、负载均衡 service.md
Ingress入口 HTTP路由、TLS终止 ingress.md
网络策略 网络隔离、流量控制 network-policy.md
服务发现 DNS解析、服务注册 service-discovery.md

5. 存储管理 #

主题 描述 文档链接
存储卷 Volume类型、挂载方式 volume.md
持久卷 PV、PVC、生命周期 persistent-volume.md
存储类 StorageClass、动态分配 storage-class.md
动态存储供给 自动创建PV、存储驱动 dynamic-provisioning.md

6. 配置管理 #

主题 描述 文档链接
ConfigMap 配置数据、环境变量注入 configmap.md
Secret 敏感信息、加密存储 secret.md
环境变量管理 变量注入、配置最佳实践 environment-variables.md

7. 安全管理 #

主题 描述 文档链接
认证与授权 RBAC、ServiceAccount auth-rbac.md
Pod安全 安全上下文、策略限制 pod-security.md
网络隔离 网络策略、安全边界 network-isolation.md

8. 监控与日志 #

主题 描述 文档链接
监控体系 Prometheus、监控指标 monitoring.md
日志收集 EFK、日志架构 logging.md
健康检查 Liveness、Readiness探针 health-check.md

9. 高级特性 #

主题 描述 文档链接
Helm包管理 Chart开发、仓库管理 helm.md
Operator模式 自定义控制器、CRD operator.md
资源限制 Requests、Limits、QoS resource-limits.md
自动扩缩容 HPA、VPA、CA autoscaling.md

10. 集群管理 #

主题 描述 文档链接
集群维护 节点管理、证书更新 cluster-maintenance.md
故障排查 常见问题、调试方法 troubleshooting.md
集群升级 版本升级、兼容性 cluster-upgrade.md

11. 实战案例 #

主题 描述 文档链接
部署Web应用 完整部署流程 web-application.md
部署数据库 MySQL、PostgreSQL database-deployment.md
微服务架构 微服务部署实践 microservices.md

学习建议 #

初学者路线 #

text
基础入门 → 核心概念 → 工作负载 → 服务与网络

进阶路线 #

text
存储管理 → 配置管理 → 安全管理 → 监控与日志

高级路线 #

text
高级特性 → 集群管理 → 实战案例

前置知识 #

学习Kubernetes前,建议掌握以下基础知识:

  • Docker基础:镜像、容器、Dockerfile
  • Linux基础:命令行、文件系统、网络
  • 网络基础:TCP/IP、DNS、负载均衡
  • YAML语法:配置文件格式
  • 版本控制:Git基本操作
  • Web服务:HTTP协议、API概念

开发环境 #

推荐的Kubernetes学习环境:

工具 推荐选项
本地环境 Minikube、Kind、Docker Desktop
学习平台 Play with Kubernetes
生产环境 kubeadm、kops、kubespray
托管服务 GKE、EKS、AKS
kubectl版本 与集群版本匹配
容器运行时 containerd、Docker

常用kubectl命令 #

命令 说明
kubectl get pods 查看Pod列表
kubectl get deployments 查看Deployment列表
kubectl get services 查看Service列表
kubectl describe pod <name> 查看Pod详情
kubectl logs <pod> 查看Pod日志
kubectl exec -it <pod> -- sh 进入Pod容器
kubectl apply -f <file> 应用配置文件
kubectl delete -f <file> 删除资源
kubectl scale deployment <name> --replicas=3 扩缩容
kubectl rollout status deployment/<name> 查看滚动更新状态

Kubernetes生态系统 #

类别 工具 用途
包管理 Helm 应用打包部署
服务网格 Istio、Linkerd 微服务治理
监控 Prometheus、Grafana 监控告警
日志 EFK、Loki 日志收集分析
CI/CD ArgoCD、Flux GitOps部署
安全 Falco、OPA 安全策略
存储 Rook、Ceph 分布式存储

学习资源 #

开始学习 #

准备好了吗?让我们从 Kubernetes简介 开始你的Kubernetes学习之旅!

最后更新:2026-03-28