一、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核心功能 | 自动部署/服务发现/存储编排/水平扩容/自我修复 | 平台级能力(对比单一容器工具) | ⭐⭐⭐ |