Kubernetes (K8s)
Kubernetes,也被称为 K8s,是一个开源系统,用于管理跨多个主机的 容器化应用程序。它为应用程序的部署、维护和扩展提供基本机制。
Kubernetes 建立在谷歌使用一个名为 Borg 的系统大规模运行生产工作负载的十五年经验之上,并结合了社区的最佳想法和实践。
Kubernetes 是由云原生计算基金会(CNCF)主办的。如果你的公司想帮助塑造容器包装、动态调度和面向微服务的技术的发展,可以考虑加入 CNCF。有关谁参与其中以及 Kubernetes 如何发挥作用的细节,请阅读 CNCF 的 公告。
要开始使用 K8s
查看我们在 kubernetes.io 上的文档。
试试我们的 互动教程。
参加 Kubernetes 的可扩展微服务 免费课程。
要在其他应用程序中使用 Kubernetes 代码作为库,请参见发布的组件列表。不支持将 k8s.io/kubernetes 模块或 k8s.io/kubernetes/... 包作为库使用。
开始开发 K8s
社区资源库 承载了所有关于从源代码构建 Kubernetes 的信息,如何贡献代码和文档,就什么问题联系谁,等等。
如果你想马上构建 Kubernetes,有两个选择。
你有一个工作的 Go 环境。
mkdir -p $GOPATH/src/k8s.io cd $GOPATH/src/k8s.io git clone https://github.com/kubernetes/kubernetes cd kubernetes make
你有一个工作的 Docker 环境。
git clone https://github.com/kubernetes/kubernetes cd kubernetes make quick-release
完整的资料,请参见 开发者文档。
支持
如果你需要支持,请从 故障排除指南 开始,并通过我们所概述的过程进行工作。
也就是说,如果你有问题,请以 各种方式 联系我们。
附录1、官网介绍
Kubernetes 是用于自动化部署、扩展和管理容器化应用程序的开源系统。
它将组成应用程序的容器组合成逻辑单元,以便于管理和发现。 Kubernetes 建立在谷歌15年的运行生产工作经验的基础上,结合了来自社区的最佳创意和做法。
使用 Kubernetes,您可以快速有效地回应客户需求:
- 快速,可预测地部署应用程序。
- 快速扩展应用程序的规模。
- 无缝地推出新功能。
- 限制硬件仅使用所需的资源。
我们的目标是促进组件和工具的生态系统,以减轻在公共和私有云中运行应用程序的负担。
Kubernetes 是
- 便携式:公共,私有,混合,多云
- 可扩展:模块化,可插拔,可勾挂,可组合
- 自愈:自动放置,自动重启,自动复制,自动缩放
Kubernetes 特性
- 自动包装 -- 根据资源需求和其他约束自动放置容器,同时不会牺牲可用性。混合关键和尽力而为的工作负载,以提高利用率并节省更多的资源。
- 自愈 -- 重新启动在节点死亡时失败,替换和重新排列容器的容器,杀死不响应用户定义的健康检查的容器,并且在它们准备投放之前不会将其通告给客户端。
- 水平缩放 -- 使用简单的命令,使用 UI,或者根据 CPU 使用情况自动调整您的应用程序。
- 服务发现和负载平衡 -- 不需要修改您的应用程序来使用不熟悉的服务发现机制。 Kubernetes 为容器提供了自己的 IP 地址和一组容器的单一 DNS 名称,并可以在它们之间进行负载平衡。
- 自动推出和回滚 -- Kubernetes 逐渐推出您的应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时杀死所有的实例。如果出现问题,Kubernetes会为您回复更改。利用日益增长的部署解决方案的生态系统。
- 秘密和配置管理 -- 部署和更新秘密和应用程序配置,而不会重建您的映像,而不会在堆栈配置中暴露秘密。
- 存储编排 -- 自动安装您所选的存储系统,无论是本地存储,公共云提供商(如 GCP 或 AWS),还是网络存储系统(如 NFS,iSCSI,Gluster,Ceph,Cinder 或 Flocker)。
- 批处理 -- 除了服务之外,Kubernetes 还可以管理您的批量和 CI 工作负载,如果需要,替换出现故障的容器。