美文网首页docker. k8s
三.Kubernetes实践指南--Kubernetes核心原理

三.Kubernetes实践指南--Kubernetes核心原理

作者: 何何与呵呵呵 | 来源:发表于2019-12-05 11:24 被阅读0次
Kubernetes API Server原理

1.通过API Server可以返回集群的Pod列表,Service列表,RC列表
2.Kubernetes Proxy API
通过REST请求转发到某个Node上,里面有关于Node,Pod与Service的API接口


Kubernetes结构图

为了缓解各模块对API Server的访问压力,各功能模块都采用缓存机制来缓存数据.各功能模块定时从API Server获取指定的资源对象信息(LIST或者WATCH方法),然后将信息保存到本地

Controller Manager原理分析

Controller Manager负责集群内的Node,Pod副本,服务端点(endpoint),nameSpace,服务账号(ServiceAccount),资源定额(ResourceQuota)等的管理.

Controller Manager结构图
  • Replication Controller 副本控制器,保证RC(资源对象)关联的Pod副本数量保持预设值,注意,需要将重启策略设置为Always.
  • Node Controller 管理和监控集群的各个Node节点的相关控制功能
Node Controller流程图
  • ResourceQuota Controller 确保对指定资源(容器,PodNameSpace)在任何时候都不会超量占用系统物力资源.
ResourceQuota Controller流程图
  • NameSpace Controller
  • Service Controller与Endpoint Controller
Service Pod endpoint的关系
Scheduler原理分析

接受Controller Manager创建的新的Pod,为其安排一个Node.

Scheduler流程
kubelet运行机制分析

在每个node节点上都启动一个kubelet服务进程,用于处理Master节点下发到本节点的任务,并定时向Master节点汇报节点资源的使用情况(默认十秒).

  • 节点管理 "--register-node=true"
  • Pod管理 Pod信息告知Api Server并保存到etcd数据库.Pod先创建pause容器,再创建其他容器.
  • 容器健康检查
    1.LivenessProbe
    2.ReadinessProbe
  • cAdvisor资源监控
kube-proxy运行机制分析
Service的负载均衡转发规则
  • 路由选择取决于Robin的负载均衡及Service的Session会话保持(SessionAffinity)
  • Service发生变化,若果没有设置集群IP,不作处理,否则获取改Service的所有端口.逐个读取服务端口定义列表信息,判断是否已经有对应的代理对象,不存在则创建,更新负载均衡组件对应的转发地址表.
kube-proxy工作示意图
深入分析集群安全机制
  • API Server认证
  • API Server授权
  • Admission Control准入控制
  • Service Account(Pod进程使用)
网络原理
  • Kubernetes网络模型(以Pod为单位进行IP分配)
  • Docker的网络基础
Docker使用到的linux网络相关技术
  • Kubernetes的网络实现
通信类型

相关文章

网友评论

    本文标题:三.Kubernetes实践指南--Kubernetes核心原理

    本文链接:https://www.haomeiwen.com/subject/asipwctx.html