Kubernetes——开源容器编排平台

Kubernetes(通常缩写为 K8s)是一个开源容器编排平台,用于自动化应用程序容器的部署、扩展和管理。最初由 Google 设计并捐赠给 Cloud Native Computing Foundation(CNCF)来维护,它现在是云原生应用部署和管理的事实标准。

Kubernetes 的核心特性包括:

  1. 容器编排:自动化部署和管理容器化应用程序。
  2. 服务发现和负载均衡:Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,并在容器之间自动负载均衡流量。
  3. 存储编排:自动挂载所选的存储系统,例如本地存储、公共云提供者等。
  4. 自我修复:自动替换、重新启动、复制和扩展出现故障的容器。
  5. 自动化滚动更新:逐渐替换旧版本的容器实例为新版本,无需停机即可更新应用。
  6. 自动扩展:根据 CPU 使用情况或其他选定的指标自动扩展容器数量。
  7. 安全和合规性:管理敏感信息,如密码、OAuth 令牌和 SSH 密钥。
  8. 跨主机集群调度:跨一组机器的集群调度和运行容器,优化资源利用率。

Kubernetes 的架构包括:

  • Master节点:控制面组件,如 API Server、Scheduler、Controller Manager 等,它们管理集群的状态和调度容器运行。
  • Worker节点:运行应用程序容器的地方,每个节点由 Kubelet 管理,这是在节点上运行的主要 Kubernetes 代理。
  • Pods:Kubernetes 的部署单元,通常包含一个或多个容器,它们共享网络和存储资源。
  • Service:抽象层,用于定义一组 Pod 和访问它们的策略。
  • Deployment:用于描述应用的预期状态,Kubernetes 控制器会自动管理 Pod 和 ReplicaSet 来达到这个状态。

Kubernetes 提供了一个声明式 API,可以定义应用架构和配置,而 Kubernetes 会处理剩下的事情,以确保你声明的状态与实际运行状态相匹配。这使得 Kubernetes 成为运行分布式系统的强大工具,特别是在微服务架构中。

你可能感兴趣的:(云,kubernetes,开源,容器)