2021-04-16

k8s Master节点介绍

Master是Kubernetes Cluster的大脑,运行着的Daemon服务包括 kube-apiserver、kube-scheduler、kube-controller-manager、etcd和Pod 网络(例如flannel)
如图
在这里插入图片描述

  1. API Server(kube-apiserver) 介绍
    API Server提供HTTP/HTTPS RESTful API,即Kubernetes API。 API Server是Kubernetes Cluster的前端接口,各种客户端工具(CLI或 UI)以及Kubernetes其他组件可以通过它管理Cluster的各种资源。

  2. **Scheduler(kube-scheduler)**介绍
    Scheduler负责决定将Pod放在哪个Node上运行。Scheduler在调度 时会充分考虑Cluster的拓扑结构,当前各个节点的负载,以及应用对 高可用、性能、数据亲和性的需求。

  3. Controller Manager(kube-controller-manager)
    Controller Manager负责管理Cluster各种资源,保证资源处于预期 的状态。Controller Manager由多种controller组成,包括replication controller、endpoints controller、namespace controller、serviceaccounts controller等。 不同的controller管理不同的资源。例如,replication controller管 理Deployment、StatefulSet、DaemonSet的生命周期,namespace controller管理Namespace资源。

  4. etcd
    etcd负责保存Kubernetes Cluster的配置信息和各种资源的状态信 息。当数据发生变化时,etcd会快速地通知Kubernetes相关组件。

  5. Pod网络
    Pod要能够相互通信,Kubernetes Cluster必须部署Pod网络, flannel是其中一个可选方案。

K8s Node节点

Node是Pod运行的地方,Kubernetes支持Docker、rkt等容器 Runtime。Node上运行的Kubernetes组件有kubelet、kube-proxy和Pod 网络(例如flannel),如图

在这里插入图片描述

  1. kubelet
    kubelet是Node的agent,当Scheduler确定在某个Node上运行Pod 后,会将Pod的具体配置信息(image、volume等)发送给该节点的 kubelet,kubelet根据这些信息创建和运行容器,并向Master报告运行 状态。

  2. kube-proxy
    service在逻辑上代表了后端的多个Pod,外界通过service访问 Pod。service接收到的请求是如何转发到Pod的呢?这就是kube-proxy 要完成的工作.
    每个Node都会运行kube-proxy服务,它负责将访问service的 TCP/UPD数据流转发到后端的容器。如果有多个副本,kube-proxy会 实现负载均衡

  3. Pod网络
    Pod要能够相互通信,Kubernetes Cluster必须部署Pod网络, flannel是其中一个可选方案。

完整的架构图

在这里插入图片描述

#kubectlgetpod--all-namespaces-owide

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值