Kubernetes基本概念和术语之Master和Node

kubernetes中的大部分概念,如Node、Pod、Replication Controller、Service等都可以看做是一种 “资源对象”,几乎所有的资源对象都可以通过kubectl工具(或者API接口)来实现增、删、改、查等操作,并将其保存在etcd中进行持久化存储,从这个角度来看,kubernetes其实是一个高度自动化的资源控制系统,它通过对比etcd库里保存的 “资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控制和自动纠错。

在介绍资源对象之前,我们先了解一下kubernetes集群中的两种管理角色:Master和Node

1.Master

kubernetes中的master指的是集群控制节点,每个kubernetes集群里都需要有一个Master节点来负责整个集群的管理和控制,基本上kubernetes的所有控制命令都发给它,它来负责具体的执行过程。Master节点通常会占据一个独立的服务器(高可用建议用3台服务器),主要原因就是他太重要了,是整个集群的“首脑”。

Master节点上运行着以下关键进程:

  1. kubernetes API Server(kube-apiserver):提供了HTTP Rest接口的关键服务进程,是kubernetes里所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口进程
  2. kubernetes Controller Manager(kube-controller-manager):kubernetes里所有资源对象的自动化控制中心,可以理解为资源对象的 “大总管”
  3. kubernetes Scheduler(kube-scheduler):负责资源调度(pod调度)的进程,相当于公交公司的 “调度室”

另外,在master节点上还需要启动一个etcd服务,因为kubernetes里的所有资源对象的数据都是保存在etcd里的

2.Node

除了master,kubernetes集群中的其他机器被称为Node节点,在较早的版本中也被称为minion。与master一样,Node可以是物理机也可以是虚拟机,Node节点才是kubernetes集群中的工作负载节点,每个Node节点都会被master分配一些工作负载(docker容器)。

每个Node节点上都运行着以下关键进程:

  1. kubelet:负责Pod对应的容器的创建、启停等任务,同时与master节点密切协作,实现集群管理的基本功能
  2. kube-proxy:实现kubernetes Service的通信与负载均衡机制的重要组件
  3. Docker Engine(docker):Docker引擎,负责本机的容器创建和管理工作

Node节点可以在运行期间动态增加到kubernetes集群中,前提是这个节点上已经正确安装、配置和启动了以上关键进程。在默认情况下,kubelet会向master注册自己,这也是官方所推荐的Node管理方式。一旦Node被纳入集群管理范围,kubelet进程就会定时向master节点汇报自身情况,例如操作系统、docker版本、CPU和内存情况,以及当前有哪些Pod在运行等,这样master就可以知道每个Node的资源使用情况,并实现高效均衡的资源调度策略,长时间失联的Node会被标记为不可用 “Not ready”,随后master会触发 “负载转移”的自动流程

3.相关命令

  1. kubectl get nodes:查看集群中有多少个node
  2. kubectl describe node {node_name}来查看某个Node的详细信息

原文地址:https://www.cnblogs.com/lemon-dog/p/12404854.html

时间: 2024-10-01 00:29:16

Kubernetes基本概念和术语之Master和Node的相关文章

Kubernetes 基本概念和术语

Kubernetes 基本概念和术语 Kubernetes 中大部分概念如 Node.Pod.Replication Controller. Service 等都可以看做一种 "资源对象",几乎所有的资源对象都可以通过 Kubernetes提供的 kubectl 工具(或者API远程调用)执行增.删.查.改等操作并将其保存在etcd中持久化存储.从这个角度来看,Kubernetes其实是一个高度自动化的资源控制系统,它通过追踪对比etcd库里保存的"资源期望状态"与

Kubernetes基本概念和术语之《Master和Node》

Kubernetes中的大部分概念如Node.Pod.Replication Controller.Service等都可以看作一种“资源对象”,几乎所有的资源对象都可以通过Kubernetes提供的kubectl工具(或者API编程调用)执行增.删.改.查等操作并将其保存在etcd中持久化存储.从这个角度来看,Kubernetes其实是一个高度自动化的资源控制系统,它通过跟踪比对etcd库里保存的“资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控制和自动纠错的高级功能. Maste

kubernetes基本概念和术语

一. kubernetes是什么 kubernetes是一个全新得基于容器技术得分布式架构领先方案.是google Borg得一个开源版本.Borg是google得一个久负盛名得内部使用得大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化. 二. kubernetes 术语 kubernetes中的大部分概念如Node,Pod,Replication Controller,service等都可以看作一种"资源对象".几乎所有的资源对象

Kubernetes基本概念和术语之Lable和Replication Controller

1.Kubernetes之Lable标签 Lable是kubernetes中的一个核心概念,一个lable是一个key=value的键值对,key与value由用户自己指定,lable可以附加到各种资源对象上,例如Node.Pod.Service.RC等,一个资源对象可以定义任意数量的Lable,同一个Lable也可以被添加到任意数量的资源对象上去,Lable通常在资源对象定义时确定,也可以在对象创建后动态添加或者删除. 可以通过给一个资源对象绑定一个或多个不同的Lable来实现多维度的资源分组

Kubernetes基本概念和术语之Deployment、Horizontal Pod Autoscaler和StatefulSet

1.Deployment Deployment是为了更好的解决Pod的编排问题才引入的,可以把它看作是RC的一次升级,最大的升级是我么可以看到Pod部署的进度. Deployment典型的使用场景如下: 创建一个Deployment对象来生成对应的Replica Set(相当于RC的进化版,kubernetes v1.2引入)并完成Pod副本的创建过程 检查Deployment的状态来看部署动作是否完成(Pod副本的数量是否达到预期值) 更新Deployment以创建新的Pod(如镜像升级) 若

k8s上的基础概念和术语

kubernetes基本概念和术语 kubeernetes中的大部分概念如Node,Pod,Replication Controller ,Serverce等都可以看作一种“资源对象”,几乎所有的资源对象都可以通过kubernetes提供的kubectl工具(或者API编程调用)执行增删改查等操作并将其保存在etcd中持久化存储.从这个角度来看,kubernetes其实是一个高度自动化的资源控制系统,它通过跟踪对比etcd库里保存的“资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控

Kubernetes 入门之Kubernetes 的基本概念和术语

Kubernetes是什么? 他是一个全新的基于容器技术分布式架构领先方案: 他也是一个开放的开发平台: 他也是一个完备的分布式系统支撑平台: Kubernetes的基本慨念和术语 Master Kubernetes 里的Master 指的是集群控制节点,每个Kubernetes 集群里需要有一个 Master 节点负责整个集群的管理和控制,基本上Kuberneter所有的控制命令都发给它,他来负责具体的执行过程,我们后面所执行的所有命令基本上都是在Master节点上运行的.Masteer通常会

Kubernetes基础概念总结

1.基础架构 1.1 Master Master节点上面主要由四个模块组成:APIServer.scheduler.controller manager.etcd. APIServer.APIServer负责对外提供RESTful的Kubernetes API服务,它是系统管理指令的统一入口,任何对资源进行增删改查的操作都要交给APIServer处理后再提交给etcd.如架构图中所示,kubectl(Kubernetes提供的客户端工具,该工具内部就是对Kubernetes API的调用)是直接

十分钟带你理解Kubernetes核心概念

本文将会简单介绍Kubernetes的核心概念.因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍.相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概念.我们发现一些概念(比如Service)如果没有图表的辅助就很难全面地理解.在合适的地方我们也会提供Kubernetes文档的链接以便读者深入学习.这就开始吧. 什么是Kubernetes? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾