1、K8S结构图:
在这里插入图片描述

架构:一个master-主节点,一群node节点-计算节点

2、Master节点:
在这里插入图片描述

Master节点:
	scheduler 调度器 ,负责计算该把pod调度到哪一个node节点
	Controllers: 控制器 ,负责维护node节点资源对象(deployment,rs,pod)
	apiServer : 网关,所有请求都必须要经过网关
	etcd: 分布式键值存储系统	
	node节点: 每一个node节点都运行一个kubelet进程,此进程负责本机服务的pod的创建维护。
	Regitry: 镜像仓库—阿里镜像仓库—harbor构建一套自己的私有仓库		

2、K8S集群:
在这里插入图片描述

node节点:
	kubelet 监听etcd,获取指令管理pod,kubelet是真正管理pod的组件。
	kube-proxy 代理服务,主要用来做负载均衡。设置iptables负载规则,更新service虚拟endpoints
	fluentd 日志收集组件
	dns 域名解析服务器
	pod 是k8s最小的管理单位,pod内部有一个或者多个容器,pod是一个用来封装容器的容器。
	docker 容器引擎(程序),k8s管理容器,容器由docker进行创建,k8s底层必须有docker引擎。

3、Master节点的Controllers详解:

replication controller: 副本控制器,控制副本数量与预期设定的数量保持一致。
Node Controller: 检查node节点监控状况;由k8s本身内部实现的。
namespce controller: 创建pod,会把pod分配在不同命名空间下,定期清理无效的namespace
service controller: 虚拟服务控制器,维护虚拟ip,提供负载均衡。
endpoints controller: 提供了pod,service关联服务。
service Account controller: 安全认证
persistent volume controller: 持久化存储控制器-有状态服务部署,数据持久化存储 PVC
daemon set controller: 让每一个服务器都具有一个相同的服务。
deployment controller: 部署控制器,支持滚动更新,发版
Job controller: 定时任务控制器
pod autoscale controller: 自动更新控制器,cup利用率>=80% ,自动扩容。

4、scheduler调度器详解:

podQueue (即将要创建的pod进行排队)
nodeList (把存储pod的节点的集合)
scheduler通过调度策略算法把pod 和 某一个node进行配对,存储在etcd,node节点kubelet监控到数据,把pod获取到在本地创建pod.
	调度算法:
		1、 预选调度:判断pod是否存在冲突、pod名称是否重复
		2、 最优节点:cpu利用率最小的节点

5、etcd详解:

etcd 是一个分布式的、可靠的 key-value 存储系统,它用于存储分布式系统中的关键数据

6、kubelet&kube-proxy:

kubelet 是 k8s 在node节点上的代理服务。pod的CRUD的是有node节点上kubelet来进行操作。kubelet实际上就相当于链式调用,上游服务是master(scheduler,apiserver),有node记得kubelet接受请求,执行具体操作。

kube-proxy 反向代理,但是kube-proxy不执行具体的代理任务,设置iptables/ipvs路由规则,serviceVIP & iptables来实现的路由规则

7、pod

Pod是最小部署单元,一个Pod有一个或多个容器组成,Pod中容器共享存储和网络,在同一台Docker主机上运行
--------------------------------------以上就是MasterNode节点的介绍---------------------------------------

8、其他插件

COREDNS:可以为集群中的SVC创建一个域名IP的对应关系解析
DASHBOARD:给 K8S 集群提供一个 B/S 结构访问体系
INGRESS CONTROLLER:官方只能实现四层代理,INGRESS 可以实现七层代理
FEDERATION:提供一个可以跨集群中心多K8S统一管理功能
PROMETHEUS:提供K8S集群的监控能力
ELK:提供 K8S 集群日志统一分析介入平台
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐