【kubernetes篇】k8s集群框架,三个核心概念,pod,controller,service


今天我们进行k8s第二更,kubernetes集群架构和三个核心概念。
在这里插入图片描述

1. kubernetes集群架构

kubernetes包含主控节点和工作节点,集群架构如图所示:

在这里插入图片描述

1.1 主控节点(Master)

k8s集群控制节点,对集群进行调度管理。主要包含四个组件。

在这里插入图片描述

API Service

集群统一入口,以restful风格的方式请求。数据存储在etcd中。

比如根据用户的请求要部署一个应用,首先要经过API Service,然后根据具体要求做相应的处理。相当于协调者的作用。

Scheduler

节点调度,选择node节点进行应用部署。

好比公交调度站,根据某一时间车辆情况进行安排调度。Scheduler根据node节点应用部署情况,选择相应的节点进行应用部署。

Controller MangerServer

处理集群中常规的后台工作任务。一般一个资源对应一个controller。

比如一个项目中有好多功能,购物车,订单等等。那么这些购物车或者订单的资源分别对应一个controller。专事专干,统一管理。

etcd

存储系统,用于保存集群中的相关数据。

主控节点中的每一个组件都相当于管理者的角色,对应用部署做出相应的处理。

1.2 工作节点(node)

接受集群外用户去集群操作请求。主要包含两个组件。

在这里插入图片描述

Kubelet

节点中的管理者,相当于由Master派到node节点的代表。管理本机容器的各种操作,比如容器生命周期,容器创建,销毁等等。

Kube-proxy

提供网络代理,负载均衡等操作。

2. kubernetes核心概念

2.1 Pod

  • 最小的部署单元
  • 一组容器的集合
  • 共享网络
  • 生命周期是短暂的

在这里插入图片描述

如果container A监听80端口,那么B和C同样能接收80端口的请求。好比一个pod的容器相当于在一台服务器上的应用,可以使用localhost访问。

一个pod被重新部署,生命周期结束,会形成一个新的pod。

2.2 Controller

主要作用的创建pod

  • 确保预期的pod副本数
  • 无状态部署、有状态部署
  • 确保所有的node运行同一个pod
  • 一次性任务和定时任务

在这里插入图片描述

副本数:运行的pod的数量。

无状态部署:资源使用条件较低,可以在多个node节点使用。有状态部署:有一定的部署条件,比如ip唯一等。

在一个节点上的pod1和pod2…是相同的。

2.3 Service

  • 定义一组pod的访问规则。

在这里插入图片描述

好比订单和购物车,Service根据pod负载能力等规则转发到不同的pod进行处理。

3. 总结

在实际的工作中,我们可以将上面说的几个概念再进行细化。

Pod
一个pod相当于一台服务器,比如我部署了两个pod,相当于物理机的两台服务器对外提供服务。

统一入口
API Service:针对于运维端的统一入口,进行容器部署等工作。
Service:针对于用户端的统一入口,比如发送请求,处理业务等。

控制器
Controller MangerServer:处理集群中常规的后台工作任务,针对于主控节点。
Service:针对于用户端的统一入口,比如发送请求,处理业务等。

在这里插入图片描述
微信公众号先已开通,搜索 “江小南和他的小伙伴们” 就能找到我哦,各位小伙伴们可以关注一下,后面文章会进行同步更新,方便查看哦。

猜你喜欢

转载自blog.csdn.net/weixin_45842494/article/details/123241971