Skip to main content

kubernetes learning path

·230 words·2 mins
😈long && 😻liang
Author
😈long && 😻liang
A IT worker with PHP/GO as the main technology stack
kubernetes - This article is part of a series.
Part 1: This Article

以下是 Kubernetes 的详细学习路线,分为 四个阶段,每个阶段包含核心任务、学习目标和推荐资源,适合从入门到进阶的系统化学习:


阶段 1:基础概念与环境搭建(1-2周)
#

目标:理解 Kubernetes 核心概念,搭建本地实验环境。
任务

  1. 学习容器基础

    • 掌握 Docker 基本操作(镜像构建、容器运行、网络与存储)。
    • 推荐资源:Docker 官方文档、《Docker 入门与实践》。
  2. 理解 Kubernetes 核心概念

    • 学习 Pod、Deployment、Service、Namespace、ConfigMap、Secret 等概念。
    • 推荐资源:Kubernetes 官方文档
  3. 搭建本地集群

    • 使用 Minikube 或 Kind 快速搭建单节点集群。
    • 生产环境推荐工具:kubeadm(用于多节点集群)。
    • 任务:通过 kubectl 命令操作集群,部署一个 Nginx Pod。
  4. 学习 YAML 配置

    • 编写简单的 Pod 和 Deployment 的 YAML 文件。

阶段 2:核心组件与基础运维(2-4周)
#

目标:掌握 Kubernetes 核心组件管理与基础应用部署。
任务

  1. 深入核心组件

    • 理解 kube-apiserver、kube-scheduler、kube-controller-manager、kubelet、kube-proxy 的作用。
    • 学习 Etcd 的存储机制。
  2. 应用部署与管理

    • 使用 Deployment 实现滚动更新和回滚。
    • 使用 Service(ClusterIP、NodePort、LoadBalancer)暴露应用。
    • 任务:部署一个多副本 Web 应用并配置 Service 访问。
  3. 配置与存储

    • 使用 ConfigMap 和 Secret 管理配置。
    • 学习 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC)。
    • 任务:部署一个带持久化存储的 MySQL 服务。
  4. 日志与监控

    • 使用 kubectl logskubectl describe 排查问题。
    • 部署 Prometheus + Grafana 监控集群状态。

阶段 3:进阶功能与生产实践(4-6周)
#

目标:掌握生产级 Kubernetes 的高级功能与优化。
任务

  1. 网络深入

    • 学习 CNI(Calico、Flannel)、Ingress Controller(Nginx、Traefik)。
    • 任务:通过 Ingress 暴露多个服务,配置 HTTPS 证书。
  2. 安全加固

    • 配置 RBAC(Role-Based Access Control)。
    • 使用 NetworkPolicy 实现网络隔离。
    • 学习 Pod Security Policies(PSP)或 OPA Gatekeeper。
  3. 自动化与 CI/CD

    • 集成 Helm 管理应用模板。
    • 使用 ArgoCD 或 Flux 实现 GitOps。
    • 任务:通过 Jenkins/GitLab CI 部署应用到 Kubernetes。
  4. 高可用与扩展

    • 理解集群高可用架构(多 Master 节点)。
    • 使用 Horizontal Pod Autoscaler (HPA) 自动扩缩容。

阶段 4:云原生生态与专家级技能(持续学习)
#

目标:深入云原生生态,解决复杂场景问题。
任务

  1. 服务网格

    • 学习 Istio 或 Linkerd,实现流量管理、熔断、观测。
  2. 无服务器与混合云

    • 使用 Knative 或 OpenFaaS 部署 Serverless 应用。
    • 多集群管理(Kubefed、Cluster API)。
  3. 性能调优与故障排查

    • 使用 kubectl debugkube-bench 检测安全问题。
    • 分析调度器性能(Affinity/Anti-Affinity、Taint/Toleration)。
  4. 参与社区

    • 贡献 Kubernetes 文档或代码(如 Good First Issue)。
    • 关注 KubeCon 会议和 CNCF 项目(如 Prometheus、Envoy)。

推荐学习资源
#

  • 官方文档Kubernetes.io
  • 书籍:《Kubernetes in Action》《云原生模式》
  • 课程:Udemy “Kubernetes for the Absolute Beginners”、CKA/CKAD 认证培训
  • 实验平台:Katacoda(已关闭替代方案:Play with Kubernetes)、Killercoda

认证路径(可选)
#

  • CKA(Certified Kubernetes Administrator):考察集群运维能力。
  • CKAD(Certified Kubernetes Application Developer):侧重应用部署开发。

通过以上路线,你可以逐步从入门到精通 Kubernetes,建议结合实践项目(如搭建博客系统、微服务应用)巩固知识。遇到问题时,善用 GitHub 和 Stack Overflow 社区。

kubernetes - This article is part of a series.
Part 1: This Article