概述
Kubernetes(K8s) 作为当前最知名的容器编排工具,称得上是云原生(Cloud Native)时代的“操作系统”,熟悉和使用它是研发、运维、产品等的必备技能。本篇文章从发展历史、安装运行、资源、存储、网络、安全、管理、未来展望等方面约 680 个知识点概述了 K8s 的知识图谱,旨在帮助大家更好的了解 K8s 的相关知识,为业务、运维、创新打下坚实基础。
完整版链接:https://www.processon.com/view/link/60dfeb3e1e085359888fd3e3
名词简写
PV: Persistent Volume
PVC: Persistent Volume Claim
SA: Service Account
HA: High Available
HPA: Horizontal Pod Autoscaler
VPA: Vertical Pod Autoscaler
PSP: Pod Security Policy
PDB: Pod Disruption Budget
CRD: Custom Resource Definition
CSI: Container Storage Interface
CNI: Container Network Interface
CRI: Container Runtime Interface
OCI: Open Container Initiative
CNCF: Cloud Native Computing Foundation
1. 发展历史 History
随着 Docker 在容器技术站稳脚跟,并在多个场合挑战了其它玩家的切身利益,比如 Google、RedHat、CoreOS、Microsoft 等。Google 在 docker 项目刚兴起就祭出一剑:把内部生产验证的容器 lmctfy(Let Me Container That For You)开源。但面对 Docker的强势崛起,毫无招架之力。Docker 在容器界具有绝对的权威和话语权。Google 于是开出高价给 Docker,Docker 的技术 boss 也是联合创始人 Solomon Hykes 估计也是个理想主义者,对这橄榄枝置之不理。
Google 很无奈,于是联合 RedHat、CoreOS 等开源基础设施领域玩家们,共同牵头发起了一个名为 CNCF(Cloud Native Computing Foundation)的基金会。
Borg 是 Google 最核心最底层的技术,托管给 CNCF 基金会,即是 Kubernetes。
2017 年 10 月,Docker 公司出人意料地宣布,将在自己的主打产品 Docker 企业版中内置 Kubernetes 项目,这标志着持续了近两年之久的“编排之争”至此落下帷幕。
Twitter 在 2019 年 5 月之后,不再使用 Apache Mesos,Aliyun 在 2019 年 7 月之后,不再支持 Docker Swarm。
Kubernetes 在整个社区推进“民主化”架构,即:从 API 到容器运行时的每一层,Kubernetes 项目都为开发者暴露出了可以扩展的插件机制,鼓励用户通过代码的方式介入 Kubernetes 项目的每一个阶段。就这样,在这种鼓励二次创新的整体氛围当中,Kubernetes 社区在 2016 年之后得到了空前的发展。更重要的是,不同于之前局限于“打包、