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

时间:2016-04-20 11:09:57

标签: kubernetes

我有一个关于带有flag --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

什么都没有归还。 我怎么能用它?

我还有另一个问题,如何过滤所有标签为

的广告连播
"labels": {
  "app": "tas-core"
}

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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