
Kubernetes(K8s)· 容器编排系统|部署、构建与使用全指南
项目仓库: https://github.com/kubernetes/kubernetes
开源协议:Apache 2.0 · 语言:Go · 官方文档:kubernetes.io ·
构建:make(Go 环境)或
make quick-release(Docker 环境) · 治理:CNCF
1 项目简介
Kubernetes(K8s)是基于 Google 十五年内部运行 Borg 经验构建的开源容器编排系统,用于自动化容器化应用的部署、扩缩容与运维。它提供应用部署、服务发现、负载均衡、存储编排、自动发布与回滚等能力,是云原生生态的事实标准。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | Kubernetes(K8s) |
| 仓库地址 | github.com/kubernetes/kubernetes |
| 项目定位 | 容器编排系统 |
| 开源协议 | Apache 2.0 |
| 语言 | Go |
| 官方文档 | kubernetes.io |
| 构建命令 | make / make quick-release |
1.2 适用场景
- 生产环境容器编排与微服务部署。
- 自动扩缩容与自愈。
- 多环境一致的 CI/CD 基础。
1.3 能力边界(官方口径)
- 使用 K8s 请参考 kubernetes.io 文档。
- 不支持把
k8s.io/kubernetes模块当库使用;请用发布的 staging 组件。
2 功能特性
- 服务发现与负载均衡:DNS 或虚拟 IP。
- 存储编排:自动挂载本地、云或网络存储。
- 自动发布/回滚:声明式配置。
- 自动装箱:按资源约束自动放置容器。
- 自愈:重启、替换、kill 不健康容器。
- 密钥与配置管理:Secret 与 ConfigMap。
3 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | https://github.com/kubernetes/kubernetes | 源码 |
| 官方文档 | kubernetes.io | 使用文档 |
| 社区仓库 | kubernetes/community | 构建/贡献/治理 |
| 故障排查 | troubleshooting guide | 排障 |
4 使用 K8s
普通使用者应通过发行版或 kubernetes.io 文档上手(如 minikube、kubeadm、云厂商托管 K8s),而非从源码构建:
- 官方文档:kubernetes.io。
- 免费课程:Scalable Microservices with Kubernetes。
5 从源码构建 K8s
5.1 方式一:有 Go 环境
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make5.2 方式二:有 Docker 环境
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make quick-release完整构建流程见开发者文档。
6 常见问题
- 想直接用 K8s:不必克隆本仓库,参考 kubernetes.io 选择 minikube/kubeadm/云托管。
- 想二次开发:用
make或make quick-release构建。 - 支持:先看 troubleshooting guide。
7 风险与说明
- 许可证:Apache 2.0。
- 不支持当库引用:官方明确不支持
k8s.io/kubernetes作为库。 - 非官方声明:本文基于官方仓库 README 整理,构建命令以 master 分支最新为准。