• 第四章 Kubernetes 架构


    4.1 Master节点:Master是大脑,运行如下Daemon服务:

    • API Server(kube-apiserver)

           API server提供了HTTP/HTTPS RESTful API,即Kubernetes API。 API server是Kubernetes Cluster的前端接口。其他客户端工具(CLI或UI)以及K8S其它组件可以通过它管理Cluster资源。

    • Scheduler(kube-scheduler)

          负责决定将Pod放在哪个Node上运行。调度时候考虑Cluster拓扑,各个节点的负载,以及应用对高可用、性能、数据亲和性的需求。

    • Controller Manager(kube-controller-manager)

          负责管理Cluster的各种资源。

    • etcd

       负责保存K8s Cluster的配置信息和各种资源的状态信息。当数据发生变化时,etcd可以快速的通知K8s 组件。

    • Pod网络

       Pod能通信,k8s cluster必须部署Pod网络(比如flannel是其中一个方案)          

    4.2 Node节点:

    • Kubelet -  是Node的agent,当scheduler确定在某个Node上运行Pod后,会将Pod的具体配置信息(image、volume等)发送给该节点的kubelet,kubelet根据这些信息创建和运行容器,并向Master报告运行状态。
    • kube-proxy - service在逻辑上代表了后端的多个Pod,外界通过service访问Pod。service接收到的请求是如何转发到Pod的呢?这就是kube-proxy要完成的工作。每个node都运行kube-proxy服务,它负责将访问service的TCP/UDP数据流转发到后端容器。如果有多个副本,kube-proxy实现负载均衡。
    • Pod网络 - Pod能通信,k8s cluster必须部署Pod网络(比如flannel是其中一个方案)

               (注意:为什么Master上也有kubelet和kube-proxy呢? 因为Master上也可以运行应用,即Master同时也是一个Node ) 

             kubectl get pod --all-namespaces -o wide

    4.3 完整的架构图:P21

    4.4 用例子把他们串起来:P23

  • 相关阅读:
    欧拉函数的一个性质及其证明
    【机器人M号】题解
    【求和】题解
    uva11292贪心基础题目
    hdu 1009 贪心基础题
    近期计划,理清思路,大步向前
    hdu1712 分组背包
    TOJ3596 二维背包
    hdu1114 完全背包
    BestCoder Round #81 (div.2)1001
  • 原文地址:https://www.cnblogs.com/liufei1983/p/10188000.html
Copyright © 2020-2023  润新知