机器(Machine)
A representation and description of a host for a node.
用来代表底层的硬件“hardware",由MachineSet或者手工创建
一个Machine实例代表具体的一台运行机器(物理or 虚拟机)
机器集 (MachineSet)
是Openshift中基于CRD定义的Object
一组配置相同的机器集,MachineSet和Machine的关系类似于ReplicaSets 和Pod的关系;
由MachineSet创建Machine;
可以根据其yaml配置文件中replicas定义的个数,确定其所需的Machine的个数;
yaml配置中包括template 部分定义,在其中描述Machine应该如何定义及部署;
如果有多个配置不同的机器,则需要不同的MachineSet,如有些Machine需要GPU相关配置,则需要有一个和GPU相关的MachineSet定义,然后Machine才能根据其创建出来
节点(Node)
节点是Kubernete中的概念,节点上运行POD;
Machine上不运行POD,一个节点对应有一个Machine
机器配置(MachineConfig)
它定义操作系统级别的机器配置,Machine实际上的创建的实例信息,是对应于MachineConfig;
机器配置Pool(Machine Config Pool)
Machine Config Pool类似于RoleBinding, 是节点和具体的MachineConfig之间的mapping定义
MachineAutoscaler
MachineAutoscaler定义机器scale的规模,最多能scale到几台
ClusterAutoscaler
定义AutoScale的条件,什么情况下需要Scale,即达到什么触发情况进行Scale;
达到ClusterAutoscaler 条件后,Openshift再根据MachineAutoscaler 进行scale
备注:
MachineSets创建Machines. Machines启动并加入到K8S集群,并作为Node(根据MachineConfigPool作为某一个具体的Node类型加入),Node上开始运行PODS;
Machine和MachineConfig的定义区别
参考:
https://www.redhat.com/en/blog/openshift-container-platform-4-how-does-machine-config-pool-work
https://blog.csdn.net/weixin_43902588/article/details/108309209