Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes如何管理元数据,以及通过元数据/标签查找对象的时间复杂度是多少?_Kubernetes_Label_Metadata - Fatal编程技术网

Kubernetes如何管理元数据,以及通过元数据/标签查找对象的时间复杂度是多少?

Kubernetes如何管理元数据,以及通过元数据/标签查找对象的时间复杂度是多少?,kubernetes,label,metadata,Kubernetes,Label,Metadata,许多文档解释了如何标记Kubernetes对象(POD、服务…),以及如何使用它们过滤/查询对象 但是没有人解释他们是如何管理元数据/标签的!(我试图找到任何东西,但没有运气……:) 我想知道如果我进去引擎盖下会发生什么 1) kubectl get deploy my-deploy-name 2) kubectl get deploy -l app=my-app-label 我已经知道这个命令的实际api调用是 GET /apis/apps/v1/namespaces/{namespace}

许多文档解释了如何标记Kubernetes对象(POD、服务…),以及如何使用它们过滤/查询对象

但是没有人解释他们是如何管理元数据/标签的!(我试图找到任何东西,但没有运气……:)

我想知道如果我进去引擎盖下会发生什么

1) kubectl get deploy my-deploy-name
2) kubectl get deploy -l app=my-app-label
我已经知道这个命令的实际api调用是

GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}?labelSelector={key}%3{val}
但我的意思是,他们如何搜索特定的对象? 我想应该有任何数据存储来管理元数据/标签。如果没有,Kubernetes不得不扫描所有的对象资源,这听起来效率不高

如果我使用元数据名称/标签搜索任何对象,时间复杂度会是多少


请帮助我并提前向您表示感谢;)

您是否有具体的应用程序代码,使其发挥作用?还可以考虑,如果一个集群有10000个POD将是“很多”,但是如果每个POD规格需要8 KB的内存,那么整个工作集将需要低于1 MB,所以即使是线性扫描,也可以在不碰到慢持久存储的情况下完成。(我猜etcd可以创建一个二级索引,但这需要O(1)个时间。)我从一开始就非常抱歉,这可能是一个愚蠢的问题,但是。。“我想应该有任何数据存储需要管理”-->你知道吗?啊!你们都提到了etcd。我只是猜测这可能是答案,因为文档说etcd是所有集群数据的后备存储。但我无法亲自检查,因为EKS不允许用户访问主节点。这就是为什么我质疑这个,因为我想要一个蓝图。当我发现一些东西时,我会发布。多亏了他们俩you@vitalii我有机会访问主节点(不在EKS上)并尝试
etcdctl
。并查找所有k8s对象都以键作为其名称存储。但是仍然没有找到任何关于标签的东西。也许它真的扫描了所有的物体。。?idk。。lol@DavidMaze是的,听起来差不多