美文网首页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