如何使用表达式按名称对 select 多个 pods 应用标签或注释?
How to use expressions by name to select multiple pods to apply labels or annotations?
我想了解以下命令的工作原理以及支持的表达式类型:
kubectl label pod foo{1..3} fizz=buzz
foo{1..3}
选择:
foo1
foo2
foo3
到目前为止我找不到任何文档。
该语法是 POSIX shell 规范中的 GNU Bash brace expansion extension syntax. Some other shells like zsh support it too, but it is not one of the Word Expansions;它不适用于一些极简主义 shell,例如 Debian GNU/Linux 中的默认破折号 shell 或 Alpine Docker 图像中的 Busybox shell。
这意味着这由您的本地 shell 扩展,以构建 kubectl
的参数。大多数扩展可能性都集中在文件名或环境变量上。 (foo*
将匹配名称以 foo
开头的本地文件,而不是 Kubernetes pods。)您可能会发现 $(command)
替换或 $(( 1 + 2 ))
算术替换很有用。这里没有使用更广泛的 Kubernetes name-matching 语法,这是专门的 local-shell 处理。
我想了解以下命令的工作原理以及支持的表达式类型:
kubectl label pod foo{1..3} fizz=buzz
foo{1..3}
选择:
foo1
foo2
foo3
到目前为止我找不到任何文档。
该语法是 POSIX shell 规范中的 GNU Bash brace expansion extension syntax. Some other shells like zsh support it too, but it is not one of the Word Expansions;它不适用于一些极简主义 shell,例如 Debian GNU/Linux 中的默认破折号 shell 或 Alpine Docker 图像中的 Busybox shell。
这意味着这由您的本地 shell 扩展,以构建 kubectl
的参数。大多数扩展可能性都集中在文件名或环境变量上。 (foo*
将匹配名称以 foo
开头的本地文件,而不是 Kubernetes pods。)您可能会发现 $(command)
替换或 $(( 1 + 2 ))
算术替换很有用。这里没有使用更广泛的 Kubernetes name-matching 语法,这是专门的 local-shell 处理。