Kubernetes(有时简写为“K8s”,其中“8”代表“K”和“s”之间的 8 个字母)是一个开源系统,支持在任何地方部署、扩缩和管理容器化应用。
Kubernetes 可自动执行容器管理的操作任务,其内置了用于部署应用、更改应用、根据不断变化的需求扩缩应用、监控应用等的命令,以便更轻松地管理应用。
随着应用跨多个容器和服务器扩容,Kubernetes 有助于简化管理流程。它通过开源 API 进行部署编排,将容器分组为 Pod,并根据需求和资源可用性进行扩缩。Kubernetes 还能自动进行服务发现、负载均衡和资源分配,并通过健康监控实现自我修复(例如自动重启或复制容器)。
对于企业开发者,以下是 Kubernetes 工作原理的分步骤说明:
自动化运营
Kubernetes 具有许多内置命令,可用于处理应用管理中繁重的工作,从而自动化日常操作。帮助您确保应用始终按照预期的方式运行。
基础架构抽象
安装 Kubernetes 后,它将代表您的工作负载处理计算、网络和存储。这使开发者可以专注于应用,而不必担心底层环境。
服务运行状况监控
Kubernetes 会对您的服务不间断地执行健康检查,重新启动有故障或停滞的容器,且只会在确认服务正常运行时向用户提供服务。
优化资源利用率
Kubernetes 会根据容器需求高效地将其分配到节点上,从而优化资源利用率。这进一步有助于减少资源浪费,降低基础设施成本。
简化应用管理
使用 Kubernetes 可优化应用管理流程。Kubernetes 提供了一种统一的方法,可用于部署、更新和管理不同复杂程度的应用。
可移植性增强
Kubernetes 是一个开源平台,能够在从本地数据中心到公有云的多种环境中保持一致运行,为企业提供灵活性和可移植性。
Kubernetes 和 Docker 通常被误认为只能二选一,其实它们都是用于运行容器化应用的技术,彼此不同但相互补充。
Docker 可以将运行应用所需的一切资源放入一个箱子中,这个箱子可以存储起来并在需要的时间和位置打开。将应用装箱后,就需要一种方法来管理它们,这就是 Kubernetes 的作用。
Kubernetes 是希腊语,意思是“船长”。就像船长负责船舶在海上的安全航行一样,Kubernetes 负责安全运送这些箱子并将其交付到可以使用的地点。
Kubernetes 用于创建易于在任何地方管理和部署的应用。当作为托管式服务时,Kubernetes 可为您提供一系列解决方案以满足您的需求。以下是一些常见使用场景。
Kubernetes 可帮助您构建基于微服务的云原生应用它还支持容器化现有应用,为应用现代化改造奠定基础,帮助您更快地开发应用。
Kubernetes 可以在任何地方使用,让您可以在本地部署、公有云部署以及混合部署之间运行应用。因此,您可以在任何需要的地方运行您的应用。
Kubernetes 可自动调整运行服务所需的集群规模。这使您可以根据需求自动扩缩并高效运行应用。
探索有关 Kubernetes 的常见问题
Kubernetes 集群由运行容器化应用的节点(虚拟机或物理机)组成,Kubernetes 对这些应用进行编排。
Kubernetes Pod 是最小的可部署单元,可包含一个或多个容器,代表一个正在运行的进程实例。
Kubernetes Deployment 通过管理副本和顺利执行更新,确保应用处于所需状态。
Kubernetes 服务是一种 Kubernetes 对象,可为应用提供稳定的 IP 地址和 DNS 名称,使其他应用能够访问该应用。
您可以通过更新部署配置中的副本数量来扩缩应用。Kubernetes 会自动创建或移除 Pod,以达到所需的规模。