20250707-1-第二章:Kubernetes 核心概念-K8s核心概念,熟悉官方文档_笔记

一、Kubernetes

1. Kubernetes介绍

  • 定义: Kubernetes是Google在2014年开源的一个容器集群管理系统,简称K8S(K和s之间有8个字母)。
  • 功能: 用于容器化应用程序的部署、扩展和管理,目标是让部署容器化应用简单高效。
  • 节点限制: 一台K8S节点(服务器)通常不建议超过100个容器应用,实际生产环境中32核128G配置的节点通常运行约40个容器应用。
  • 配额原则: 每个容器都需要设置资源配额,不能无限制接收应用,否则会导致集群不稳定。
2. 熟悉官方文档

  • 学习建议: 新手建议先完成课程学习后再查阅官方文档,文档更适合有一定基础的学习者。
  • 重点内容: 官方文档中"概念"和"任务"两个栏目是核心学习内容。
  • 文档特点: 官方文档内容全面但缺乏上下文,初学者可能难以理解。
二、Kubernetes是什么

1. Kubernetes简介

  • 起源: 由Google在2014年开源,基于Google15年生产环境运维经验。
  • 核心功能: 容器集群管理系统,将多个容器组合成逻辑单元进行管理。
  • 名称由来: "K8S"是"Kubernetes"的缩写,K和s之间有8个字母,也有人简称为K8。
2. kubernetes官网

  • 官网地址: kubernetes.io
  • 多语言支持: 提供包括中文在内的多国语言版本。
  • 主要内容: 包含文档、博客、培训、社区等栏目。
3. kubernetes特性

  • 核心特性:
    • 自动化上线和回滚
    • 服务发现与负载均衡
    • 存储编排
    • Secret和配置管理
    • 自动装箱(资源调度)
    • 批量执行
    • IPv4/IPv6双协议栈
    • 水平扩展
    • 自我修复
    • 为扩展性设计
  • 设计原则: 基于Google运行数十亿容器的经验设计,能够在不增加运维团队的情况下进行规模扩展。
4. kubernetes博客

  • 内容特点: 主要包含版本更新、技术文章和案例分析,大部分为英文内容。
  • 参考价值: 可作为技术参考,但对新手帮助有限。
5. kubernetes版本

  • 版本历史: 从1.0.1版本发展到当前最新版1.33,共约30个版本。
  • 版本迭代: 保持快速迭代,每个版本包含多项功能增强。
6. kubernetes官方文档

  • 文档结构:
    • 概念:介绍Kubernetes的核心概念和架构
    • 任务:提供具体操作指南
    • 教程:分步骤学习指南
    • 参考:API、命令行等参考资料
  • 学习路径: 建议先掌握基本概念,再通过任务实践巩固理解。
三、Kubernetes集群架构与组件

1. k8s集群架构

  • 节点类型:
    • 管理节点(Master):负责集群管理
    • 工作节点(Node):运行应用容器
  • Master组件:
    • API Server: 集群统一入口,提供REST API
    • Scheduler: 负责Pod调度到合适节点
    • Controller Manager: 维护集群状态,如副本数、回滚等
    • etcd: 分布式键值存储数据库(非K8S原生组件)
  • Node组件:
    • kubelet: 节点代理,负责创建和管理容器
    • kube-proxy: 网络代理,维护网络规则
  • 外部工具:
    • kubectl: 命令行管理工具
    • Docker: 容器运行时(非K8S原生组件)
  • 工作流程:
    • 用户通过kubectl发送请求到API Server
    • Scheduler决定Pod分配到哪个Node
    • 目标Node的kubelet通过Docker API创建容器
    • kube-proxy配置网络规则使服务可访问
  • 设计特点:
    • 所有组件都通过API Server交互
    • 采用声明式配置管理
    • 支持水平扩展和高可用
四、知识小结

|-------------------|--------------------------------------------------------------------------------|-----------------------------------|------|
| 知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
| Kubernetes(k8s)概述 | 容器集群管理系统,用于部署、扩展和管理容器化应用 | k8s名称由来(k与s间8个字母缩写)、平台级特性(非单一技术栈) | ⭐⭐ |
| k8s核心价值 | 基础设施通用标准,替代传统技术栈组合方案 | 集群管理能力(与手动运维对比)、行业变革趋势 | ⭐⭐⭐ |
| k8s学习意义 | 提升职业竞争力(大厂高薪门槛技术) | 人才稀缺性(仅掌握基础操作者居多) | ⭐⭐ |
| k8s节点容器限制 | 单节点建议不超过110个容器(实际生产约40个) | 配额管理必要性(稳定性 vs 资源浪费) | ⭐⭐⭐ |
| k8s官方资源 | 官网(kubernetes.io)、文档(概念与任务栏优先) | 英文原版与中文翻译差异 | ⭐⭐ |
| k8s集群架构 | Master节点(API Server/Scheduler/Controller Manager) + Node节点(kubelet/kube-proxy) | ETCD独立角色(非Master组件但关键) | ⭐⭐⭐⭐ |
| 组件协作流程 | kubectl → API Server → Scheduler → kubelet → Docker(或者containerD) | 网络代理(kube-proxy核心作用) | ⭐⭐⭐⭐ |
| k8s核心功能 | 自动部署/服务发现/存储编排/水平扩容/自我修复 | 平台级能力(对比单一容器工具) | ⭐⭐⭐ |