K8s是为了解决微服务架构中大量容器部署和管理的问题。
希腊语“舵手”的意思。K8s是一个开源的容器编排平台,用于自动部署、扩展和管理容器化应用程序。最初由Google设计并捐赠给CNCF来维护。
K8s需要部署在至少2台机器的硬件集群环境中,K8s也叫云原生操作系统。
K8s中的机器分为两个角色:管理节点和工作节点。
K8s官网:https://kubernetes.io/
自动化容器管理
容器可扩展性
高可用性和容错能力
服务发现和负载均衡
Kubernetes 采用 “管理节点 / 工作节点” 架构
管理节点也叫 Master Node,它是整个集群里最重要的部分,可以说是 K8s的大脑和心脏;
工作节点叫做 Worker Node,工作节点数量非常多,构成了一个资源池,K8s就在这个池里分配资源,调度应用。
K8s-主节点(Master)组件
API Server 是整个K8s系统的唯一入口,对外开放了RESTful API,所有组件之间并不会互相调用,而是通过和 API Server 打交道来完成自己需要的工作。
Etcd 是一个高可用的分布式 Key-Value 数据库,用来持久化存储系统里的各种资源对象和状态。
Scheduler 负责对集群内部的资源进行调度,相当于调度员的角色,按照预定的调度策略将 Pod 调度到相应的节点上。
Controller Manager 负责查看维护容