我对带有标志 --selector 的 kubectl 命令有疑问。在帮助菜单中它说,
-l, --selector="": Selector (label query) to filter on
然而它并没有像我想象的那样工作, 例如,我想要 RC 拥有像这样的选择器
"spec": {
"replicas": 2,
"selector": {
"app": "tas-core"
},
当我发出命令时
kubectl get pod --selector="app:tas-core"
系统报告:提供的选择器“app:tas-core”无效:无法解析要求:标签键:值“app:tas-core”无效,详细信息:必须匹配正则表达式 [a-z0-9?(。 a-z0-9?)* / ] a-z0-9?
在我检查正则表达式之后
[[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* / ] [a-z0-9]([-a-z0-9]*[a-z0-9])?
我仍然找不到任何可以通过正则表达式的字符串! 我给了,
kubectl get rc -l app/tas-core
什么也没退回。 我该如何使用它?
我还有一个问题,如何过滤所有带有类似标签的pod
"labels": {
"app": "tas-core"
}
?
尝试
kubectl get pods --selector=app=tas-core
如https://kubernetes.io/docs/reference/kubectl/quick-reference
kubectl get po --selector name=value
,其中 name 是选择器名称,value 是选择器值。kubectl get all --selector name1=value1,name2=value2,name3=value3
我们应该能够使用标签
selectors
和 jsonpath
查询 pod 名称
kubectl get pods -l "app.kubernetes.io/name=nginx" -o jsonpath={.items[0].metadata.name}