如何使用带有标志--selector的kubectl命令?

Zhi*_*uan 2 kubernetes

我有一个关于带有标志--selector的kubectl命令的问题。在帮助菜单中说:

-l, --selector="": Selector (label query) to filter on
Run Code Online (Sandbox Code Playgroud)

怎么会不起作用,例如,我想让拥有选择器的RC

    "spec": {
    "replicas": 2,
    "selector": {
        "app": "tas-core"
    },
Run Code Online (Sandbox Code Playgroud)

当我发出命令

kubectl get pod --selector="app:tas-core"
Run Code Online (Sandbox Code Playgroud)

系统报告:提供的选择器“ 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])?
Run Code Online (Sandbox Code Playgroud)

我仍然找不到任何可以通过正则表达式的字符串!我给了,

kubectl get rc -l app/tas-core
Run Code Online (Sandbox Code Playgroud)

什么也没有退还。我该怎么用?

我还有另一个问题,如何过滤所有带有标签的豆荚

"labels": {
  "app": "tas-core"
}
Run Code Online (Sandbox Code Playgroud)

Oma*_*led 7

  • 要在 kubectl 命令中使用一个选择器,请应用以下命令: kubectl get po --selector name=value其中name是选择器名称,value是选择器值。
  • 您可以使用需要列出并使用选择器过滤的 rc、svc 或部署(任何 k8s 资源)。
  • 还有一个选项可以使用多个选择器列出或过滤 k8s 资源,只需使用以下命令: kubectl get all --selector name1=value1,name2=value2,name3=value3

  • 是的,如`kubectl get pods --help | grep "\--selector="` 表示:要过滤的选择器(标签查询),支持 '='、'==' 和 '!='。(例如-l key1=value1,key2=value2) (2认同)

小智 6

尝试kubectl get pods --selector = app = tas-core

http://kubernetes.io/docs/user-guide/kubectl-cheatsheet/