Kubernetes (K8s)

生产级容器调度和管理。「Production-Grade Container Scheduling and Management.」

Github stars Tracking Chart

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 工作负载,如果需要,替换出现故障的容器。

Overview

Name With Ownerkubernetes/kubernetes
Primary LanguageGo
Program languagePython (Language Count: 10)
PlatformLinux, Mac, Windows
License:Apache License 2.0
Release Count1087
Last Release Namev1.30.0-rc.2 (Posted on 2024-04-11 16:36:57)
First Release Namev0.2 (Posted on 2014-09-08 21:10:43)
Created At2014-06-06 22:56:04
Pushed At2024-04-14 12:33:26
Last Commit At2024-04-12 00:13:00
Stargazers Count106.5k
Watchers Count3.2k
Fork Count38.3k
Commits Count122k
Has Issues Enabled
Issues Count44931
Issue Open Count1862
Pull Requests Count57956
Pull Requests Open Count740
Pull Requests Close Count20325
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

Kubernetes (K8s)

GoPkg Widget CII Best Practices


Kubernetes, also known as K8s, is an open source system for managing containerized applications
across multiple hosts. It provides basic mechanisms for deployment, maintenance,
and scaling of applications.

Kubernetes builds upon a decade and a half of experience at Google running
production workloads at scale using a system called Borg,
combined with best-of-breed ideas and practices from the community.

Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF).
If your company wants to help shape the evolution of
technologies that are container-packaged, dynamically scheduled,
and microservices-oriented, consider joining the CNCF.
For details about who's involved and how Kubernetes plays a role,
read the CNCF announcement.


To start using K8s

See our documentation on kubernetes.io.

Try our interactive tutorial.

Take a free course on Scalable Microservices with Kubernetes.

To use Kubernetes code as a library in other applications, see the list of published components.
Use of the k8s.io/kubernetes module or k8s.io/kubernetes/... packages as libraries is not supported.

To start developing K8s

The community repository hosts all information about
building Kubernetes from source, how to contribute code
and documentation, who to contact about what, etc.

If you want to build Kubernetes right away there are two options:

You have a working Go environment.
mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make
You have a working Docker environment.
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make quick-release

For the full story, head over to the developer's documentation.

Support

If you need support, start with the troubleshooting guide,
and work your way through the process that we've outlined.

That said, if you have questions, reach out to us
one way or another.

To the top