k8s多master建议用几个_Kubernetes中Master和Node的概念

本文介绍了Kubernetes中的Master和Node角色,Master负责集群控制,包括API Server、Controller Manager和Scheduler等关键进程,建议高可用部署至少3个Master节点。Node是工作负载节点,运行Pod和关键进程如kubelet、kube-proxy和Docker。Node可动态加入集群,kubelet向Master报告资源信息以实现高效调度。
摘要由CSDN通过智能技术生成

2d556b80b402e44283dde3d00ce21b09.png

kubernetes之master和node

Kubernetes中的包含了很多如 NodePodReplicationControllerServiceDeployment“资源对象”,几乎所有的资源对象都可以通过Kubernetes提供的kubectl工具(或者API编程调用)执行增、删、改、查等操作并将其保存在 etcd-v3中持久化存储。从这个角度来看,Kubernetes其实是一个高度自动化的资源控制系统,它通过跟踪对比etcd库里保存的“资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控制和自动纠错的高级功能。

kubernetes资源对象可以通过kubectl的子命令 api-resources查看。

☸️ devcluster? monitor ~  ? ? kubectl api-resources

NAME SHORTNAMES APIGROUP NAMESPACED KIND

bindings true Binding

componentstatuses cs false ComponentStatus

configmaps cm true ConfigMap

endpoints ep true Endpoints

events ev true Event

limitranges limits true LimitRange

...

在介绍资源对象之前,我们先了解一下Kubernetes集群的两种管理角色:MasterNode

72d573fc90ca9f57b847542012818e61.png

Master

Kubernetes里的Master指的是集群控制节点,每一个Kubernetes集群里都必须要有一个Master节点来负责整个集群的管理和控制,基本上Kubernetes的所有控制命令都发给它,它来负责具体的执行过程,我们后面执行的所有命令基本都是在Master节点上运行的。我们通常会把Master部署在一个独立的服务器上,如何高可用部署建议用3台服务器,master也可以扩展副本数,来获取更好的可用性和冗余。其主要原因是它太重要了,是整个集群的“首脑brain”,如果宕机或者不可用,那么对集群内容器应用的管理都将失效。

Master节点上运行着以下一组关键进程。

  • KubernetesAPIServer(kube-apiserver):提供了 HTTP Rest 接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口进程。查看具体的哪些API:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#-strong-api-overview-strong-

  • KubernetesControllerManager(kube-controller-manager):Kubernetes里所有资源对象的自动化控制中心,可以理解为资源对象的“大总管”。

  • KubernetesScheduler(kube-scheduler):负责资源调度(Pod调度)的进程,安排哪些服务的pod运行在哪些节点上。

另外,在Master节点上还需要启动一个etcd服务,正如前面讲到的,Kubernetes里的所有资源对象的数据全部是保存在etcd中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值