Kubernetes作为分布式容器编排及管理系统,本身采用了微服务的架构设计思想和理念。
本文我们会简单介绍Kubernetes的基本概念和关键组件,同时讲解Kubernetes与Spring Cloud的生态融合。
Kubernetes基本概述
Kubernetes的寓意为“舵手”,它对底层基础设施层进行了抽象。Kubernetes提供了应用部署、规划、更新、维护的一种机制,其目标是提供一个规范,用以描述集群架构,定义服务的最终状态,使系统自动达到和维持该状态。
Kubernetes作为容器编排管理平台,提供了很多功能。其主要功能是围绕应用Pod(创建和部署的最小单元)构建从发布到交付的整个工作流,加速应用的交付速度。
Kubernetes的主要功能如下。
实现透明的服务注册和服务发现机制、内建负载均衡器。
服务滚动升级和在线扩容。
可扩展的资源自动调度机制。
故障发现和自我修复能力。
多层次的安全防护和准入机制,多租户应用支撑能力。
多粒度的资源配额管理能力。
Kubernetes的核心组件
Kubernetes的核心组件部署在Master管理节点上,主要作用是作为Kubernetes的“大脑”,控制整个分布式集群的运转;Node节点作为“四肢”,执行Master的操作指令。
API Server
API Server的主要功能是作为集群管理的API入口,为资源对象(Pod、Service、Deployment)提供创建、认证、数据校验、状态变更等操作。
Etcd
Etcd是一种K-V存储仓库,可用于服务发现应用。无论是创建Deployment,还是创建Service,各种资源对象信息都会写入Etcd。
Controller Manager
Controller Manager是Kubernetes的“大脑”,由一系列控制器组成。它通过API Server监控整个集群的状态,确保集群处于预期的工作状态。
Scheduler
Scheduler是Kubernetes的调度器,负责分配调度Pod到集群内的节点上。它通过API Server的List-Watch机制监听新建的Pod副本信息,然后根据调度策略为这些Pod分配节点或者更新老的Pod节点信息。
Kubelet
Kubelet会在每个Node节点上都部署,并在10250端口监听,负责Master下发到该节点的具体任务,管理该节点的Pod和容器。
Kube-Proxy
Kube-Proxy负责监听API Server中的Service和Endpoint的变化情况。Kube-Proxy的核心功能是将API Server的访问请求转发到后台某个具体的Pod节点。
Container Runtime
CRI基于gRPC协议定义了RuntimeService和ImageService两个gRPC服务,分别用于管理容器运行时和镜像。
本文给大家讲解的内容是Kubernetes容器管理,Kubernetes的基础
下篇文章给大家讲解的内容是Kubernetes容器管理,Kubernetes的设计理念
觉得文章不错的朋友可以转发此文关注小编;
感谢大家的支持!
领取专属 10元无门槛券
私享最新 技术干货