k8s系统架构图(二)

一个K8S集群由两部分构成 master节点和node节点。

master节点主要负责集群的控制,对pod进行调度,已经令牌管理等等功能。

node节点主要是负责干活,启动容器、管理容器。

master节点和node节点一般不要部署在一台机器上。

上面这个架构图,举例是一个master节点和2个node节点。但实际生产上,从高可用考虑,是需要部署多个master节点的。

将这张图抽象一下,大约是这个样子

master节点中又有很多组件

主要的是:

Api Server:对外暴露K8S的api接口,是外界进行资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;

scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;就是监视新创建的 Pod,如果没有分配节点,就选择一个节点供他们运行,这就是pod的调度

controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等,它们是处理集群中常规任务的后台线程

etcd:kubernetes的后端数据库,k/v方式存储,所有的k8s集群数据都存放在此处。保存了整个集群的状态

其中有kube-scheduler和kube-controller-manager两个组件是有leader选举的,这个选举机制是k8s对于这两个组件的高可用保障。

apiserver是可以水平扩展的。

Node节点的组件:

 

kubelet负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理;

kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;

fluentd 是一个守护进程,它有助于提供集群层面日志 集群层面的日志

再来一张综合起来的图:

解释图中的几个词:

CNI、CRI和CSI都是K8S的开放接口

Kubernetes作为云原生应用的基础调度平台,相当于云原生的操作系统,为了便于系统的扩展,Kubernetes中开放的以下接口,可以分别对接不同的后端,来实现自己的业务逻辑:

CRI(Container Runtime Interface):容器运行时接口,提供计算资源CNI(Container Network Interface):容器网络接口,提供网络资源CSI(Container Storage Interface):容器存储接口,提供存储资源

这几个属于进阶内容,新手先不用管。

另外附一个参考高可用部署架构:

在每台node节点上安装nginx,nginx通过内部的负载均衡将node节点上需要通过访问master,kube-apiserver组件的请求,反代到两台k8s-master节点上,这样就可以实现master节点的高可用,当任意一台master节点宕机后,也可以通过nginx负载均衡放文档另一个master节点上


//来自百家号:IT有意思

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes(简称k8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。基于k8s系统架构图可以描述出Kubernetes的整体组成和工作原理。 首先,k8s系统架构图通常包含以下几个主要组件: 1. 主节点(Master Node):主节点是k8s集群的控制中心,负责管理和监控整个集群的状态。其中核心组件包括: - API Server:负责接收和处理来自用户、外部系统和节点的请求,并将它们转化为内部操作。 - Scheduler:负责将容器化应用程序的Pod调度到可用的工作节点上,根据资源需求和节点的状态进行智能调度。 - Controller Manager:负责监控集群状态的各种控制器,并按需调整集群的配置。 2. 工作节点(Worker Node):工作节点是运行容器的实际主机,用于执行应用程序的实际工作。其中关键组件包括: - Kubelet:负责与主节点的API Server进行通信,接收和执行任务,保持节点与主节点同步。 - Container Runtime:负责管理和运行容器,如Docker或rkt。 - Kube Proxy:负责为Pod提供网络代理和负载均衡功能。 3. 存储:Kubernetes提供多种持久化存储的解决方案,例如: - Persistent Volume(PV):抽象出存储资源并提供给Pod使用。 - Persistent Volume Claim(PVC):声明式地请求可用的存储资源。 - Storage Class:动态地提供持久化存储的模板。 4. 服务发现和负载均衡:k8s通过Service和Ingress组件提供集群内外的服务发现和负载均衡功能。 在k8s系统架构图中,各个组件之间通过API、RPC等方式进行通信,实现了集群的高可用、高可伸缩和自动化部署管理。通过k8s系统架构图,可以清晰地了解到k8s集群的组成以及各组件之间的关系与作用,帮助开发人员和运维人员更好地理解和使用k8s提供的强大功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值