欢迎来到云服务器租用和托管数据中心

网络技术

Kubernetes架构及其工作原理?Kubernetes的优势

Kubernetes,通常缩写为“K8s”,编排容器化应用程序以在主机集群上运行。K8s 系统使用本地基础设施或公共云平台自动部署和管理云原生应用程序。它在Kubernetes 集群中分配应用程序工作负载并自动满足动态容器网络需求。Kubernetes 还将存储和持久卷分配给运行的容器,提供自动扩展,并持续工作以保持应用程序的所需状态,提供弹性。了解企业如何使用 Kubernetes 大规模构建、部署和运行现代应用程序。

Kubernetes架构及其工作原理?Kubernetes的优势

Kubernetes 功能

Kubernetes 有许多特性可以帮助跨多个主机编排容器,自动化 K8s 集群的管理,并通过更好地利用基础设施来最大限度地利用资源。重要功能包括:

  • 自动缩放。根据使用情况自动扩展容器化应用程序及其资源
  • 生命周期管理。自动化部署和更新,能够:
    • 回滚到以前的版本
    • 暂停并继续部署
  • 声明式模型。声明所需的状态,K8s 在后台工作以维护该状态并从任何故障中恢复
  • 韧性和自我修复。自动放置、自动重启、自动复制和自动缩放提供应用程序自我修复
  • 持久存储。能够动态安装和添加存储
  • 负载均衡。Kubernetes 支持多种内部和外部负载均衡选项,以满足不同的需求
  • DevSecOps 支持。DevSecOps是一种高级安全方法,可简化和自动化跨云的容器操作,在整个容器生命周期中集成安全性,并使团队能够更快地交付安全、高质量的软件。将 DevSecOps 实践与 Kubernetes 相结合可提高开发人员的工作效率。

Kubernetes 架构及其工作原理?

容器以可移植且易于部署的形式封装应用程序。Kubernetes架构旨在运行容器化应用程序。一个 Kubernetes 集群由至少一个控制平面和至少一个工作节点(通常是物理或虚拟服务器)组成。控制平面有两个主要职责。它通过 API 服务器公开 Kubernetes API 并管理组成集群的节点。控制平面做出有关集群管理的决策,并检测和响应集群事件。

在 Kubernetes 中运行的应用程序的最小执行单元是 Kubernetes Pod,它由一个或多个容器组成。Kubernetes Pod 在工作节点上运行。

Kubernetes架构及其工作原理?Kubernetes的优势

其他 Kubernetes 术语

了解作为控制平面一部分或在 Kubernetes 节点上执行的主要 K8s 组件的名称和功能非常重要。

控制平面有四个主要组件,用于控制通信、管理节点和跟踪 Kubernetes 集群的状态。

  • Kube-apiserver。顾名思义,kube-apiserver 暴露了 Kubernetes API。
  • 等。存储与 Kubernetes 集群相关的所有数据的键值存储。
  • Kube 调度程序。监视没有分配节点的新 Kubernetes Pod,并根据资源、策略和“亲和性”规范将它们分配给节点执行。
  • Kube-控制器-经理。控制平面的所有控制器功能都编译成一个二进制文件:kube-controller-manager。

一个 K8s 节点具有三个主要组件:

  • 库贝莱特。确保必要容器在 Kubernetes Pod 中运行的代理。
  • Kube 代理。在集群中的每个节点上运行以维护网络规则并允许通信的网络代理。
  • 容器运行时。负责运行容器的软件。Kubernetes 支持任何符合 Kubernetes CRI(容器运行时接口)的运行时。

需要注意的其他术语包括:

  • Kubernetes 服务。Kubernetes服务是一组 Kubernetes Pod 的逻辑抽象,它们都执行相同的功能。Kubernetes 服务被分配了唯一的地址,即使 pod 实例来来去去,这些地址也保持不变。
  • 控制器。控制器确保 Kubernetes 集群的实际运行状态尽可能接近期望的状态。
  • 运算符。Kubernetes Operators 允许您为类似于运行手册的应用程序封装特定领域的知识。通过自动执行特定于应用程序的任务,Operators 允许您更轻松地在 K8s 上部署和管理应用程序。 

Kubernetes架构及其工作原理?Kubernetes的优势

Kubernetes 优势

Kubernetes 平台之所以流行,是因为它提供了许多重要优势:

  • 可移植性。容器可以在从虚拟环境到裸机的各种环境中移植。所有主要的公共云都支持 Kubernetes,因此,您可以在 K8s 上跨许多不同的环境运行容器化应用程序。
  • 集成性和可扩展性。Kubernetes 可扩展以与您已经依赖的解决方案一起使用,包括日志记录、监控和警报服务。Kubernetes 社区正在开发各种与 Kubernetes 互补的开源解决方案,创建一个丰富且快速增长的生态系统。
  • 成本效率。Kubernetes 固有的资源优化、自动扩展以及在提供最大价值的地方运行工作负载的灵活性意味着您可以控制 IT 支出。
  • 可扩展性。云原生应用程序水平扩展。Kubernetes 使用“自动扩展”,启动额外的容器实例并根据需求自动扩展。
  • 基于 API 的. Kubernetes 的基本结构是它的 REST API。Kubernetes 环境中的一切都可以通过编程来控制。
  • 简化的 CI/CD。CI/CD是一种 DevOps 实践,可自动构建、测试应用程序并将其部署到生产环境。企业正在集成 Kubernetes 和 CI/CD 以创建可动态适应负载的可扩展 CI/CD 管道。

什么是容器编排?

容器编排自动化了运行容器化工作负载和服务所需的大部分任务,包括对 Kubernetes 容器生命周期至关重要的操作:配置、部署、扩展、网络和负载平衡。

Kubernetes 与 Docker

Docker 是一个用于创建容器化应用程序的软件平台。K8s 自动运行使用 Docker 或其他工具创建的容器化、云原生应用程序的过程。公司经常一起使用 Docker 和 Kubernetes。

Copyright © 2003-2020 香港服务器和服务器租用 梦飞数据中心 版权所有