K8sKubernetes 的简称,是一个用于自动化部署、扩缩容和管理容器化应用的开源平台。

它主要解决的问题是:当你的应用被打包成很多容器后,如何高效、稳定地把它们运行在一组机器上。

简单理解:

  • 容器:像一个个打包好的应用运行环境,比如 Docker 容器。
  • Kubernetes / K8s:负责管理这些容器,让它们在服务器集群里运行、重启、扩容、滚动发布等。

K8s 常见能力包括:

  1. 自动调度

    • 决定容器应该运行在哪台机器上。
  2. 自动恢复

    • 如果某个容器挂了,K8s 可以自动重启。
    • 如果某台机器故障,可以把服务迁移到其他机器。
  3. 弹性伸缩

    • 根据流量或资源使用情况增加/减少实例数量。
  4. 服务发现和负载均衡

    • 自动把请求分发到健康的应用实例。
  5. 滚动发布和回滚

    • 发布新版本时逐步替换旧版本。
    • 如果新版本有问题,可以回滚。
  6. 配置和密钥管理

    • 用 ConfigMap 管理配置。
    • 用 Secret 管理敏感信息。

常见核心概念:

  • Pod:K8s 中最小的部署单位,通常包含一个或多个容器。
  • Node:集群中的一台机器,可以是物理机或虚拟机。
  • Cluster:一组 Node 组成的集群。
  • Deployment:声明应用应该如何部署、运行几个副本、如何升级。
  • Service:为一组 Pod 提供稳定访问入口。
  • Namespace:用于隔离不同环境或团队资源。

名字里的 K8s 是缩写:
Kubernetes 中间有 8 个字母,所以写作 K + 8 + s

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐