在库伯奈特世界中,物体和资源有什么区别?
我从https://kubernetes.io/docs/concepts/那里找不到它。我不知道他们对他们没有任何区别,但他们似乎把对象看作是资源的高级概念。
发布于 2020-09-29 21:12:02
对象
Kubernetes使用这些实体来表示集群的状态。
具体而言,它们可以描述:
Kubernetes对象是“意图的记录”--一旦创建了该对象,Kubernetes系统就会不断地工作,以确保该对象的存在。
通过创建一个对象,您可以有效地告诉Kubernetes系统您希望集群的工作负载是什么样子;这是您的集群所需要的状态。
对象通常不会自行从集群中消失,只有一个例外: 如果手动创建Pod对象,并将其调度在节点上:
资源
资源是声明API的一部分,由Kubernetes客户端库和CLI或kubectl
使用。
它可能导致“定制资源”,这是Kubernetes API的扩展,在默认的Kubernetes安装中不一定可用。
发布于 2018-09-13 13:14:21
特定group+version+kind的表示形式是一个对象。例如,一个v1 Pod,或一个应用程序/v1部署。这些定义可以存在于清单文件中,也可以从apiserver获得。
用于获取对象的特定URL是资源。例如,可以从v1资源中获取/api/v1/pods
Pod对象的列表。可以从v1资源中获取特定的/api/v1/namespaces/<namespace-name>/pods/<pod-name>
Pod对象。
API发现文档(如在/api/v1发布的文档)可用于确定与每种对象类型对应的资源。
通常,可以从多个资源检索同一个对象并将其提交给多个资源。例如,可以将v1 Pod对象提交到以下资源URL:
/api/v1/namespaces/<namespace-name>/pods/<pod-name>
/api/v1/namespaces/<namespace-name>/pods/<pod-name>/status
不同的资源允许不同的服务器端行为和访问控制。第一个URL只允许更新pod规范和元数据的部分内容。第二个URL只允许更新pod状态,访问权限通常只给kubelets。
授权规则基于特定请求的资源。
发布于 2018-09-13 09:59:34
库伯奈特斯的物品--就像餐馆里的点菜一样。您定义了您最终想要得到的集群的状态,就像给服务员的点菜一样。kubectl
定义了你的点菜,并把它送到厨师那里,就像服务员一样。API就像厨师一样准备你的点菜。在.yaml或.json文件中定义对象。
因此,资源就像是菜单项。想象一下这只豆荚是一块肉。肉可以用不同的方式烹饪:例如,油炸或煮熟,但最后,在这两种情况下,它都是肉。与库伯奈特的资源相似。StatefulSet
将创建从0到N的固定名称的Pods,而Deployment
不会。DaemonSet
将在每个节点上创建Pods,而Deployment
或StatefulSet
将创建尽可能多的Pods,就像您在副本中指出的那样。不过,不管你选择了什么,最后都会是Pods。你可能要点油炸肉,但要半熟加芥末。如果你点的菜不在商品清单上,餐厅会怎么处理?欢迎来到Kubernetes CRD或CustomResourceDefinition
。
P.S:这是一个非常抽象的描述,实际上StatefulSet/DaemonSets/Deployments
或Ingress
也是对象,但它们通常被称为“资源”
https://stackoverflow.com/questions/52309496
复制相似问题