跳转到内容

K8s

Kubernetes(简称 K8s)是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。

  • 高可用性:容器或宿主机宕机时的自动恢复。
  • 负载均衡:流量在多个容器实例间的智能分配。
  • 自动伸缩:根据实时负载自动增减容器数量。
  • 服务发现:动态 IP 环境下的服务定位。
  • Pod 管理:最小部署单元,负责容器生命周期。
  • 集群调度:将虚拟机或物理机抽象为资源池进行统一调度。
  • 声明式配置:通过 API 对象(如 Service)实现稳定的网络入口和自动化管理。
  • kube-apiserver:集群控制的入口。
  • kube-scheduler:负责 Pod 的调度。
  • kube-controller-manager:维持集群状态的控制器。
  • etcd:保存集群所有数据的键值数据库。
  • 容器运行时:如 Docker, containerd。
  • kubelet:确保容器在 Pod 中运行。
  • kube-proxy:维护网络规则,实现服务发现。
特性KubernetesDocker Swarm
设计理念复杂、强大、声明式简单、集成、命令式
功能功能全面,适用于复杂场景功能精简,适用于基础场景
学习曲线陡峭平缓
社区支持庞大,业界标准较小
使用场景复杂微服务、大型企业级应用小型项目、快速原型开发