gen*_*mai 2 kubernetes kubectl
我正在以下 URL 学习 Kubernetes Label Selector。
\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
\n\n\n基于集合的标签要求允许根据一组值过滤键。支持三种运算符:in、notin 和exists(仅限键标识符)。例如:
\n
! partition\nRun Code Online (Sandbox Code Playgroud)\n\n\n第四个(这个)示例选择所有没有带有键分区标签的资源;未检查值 \xe2\x80\x8b\xe2\x80\x8bar。
\n
我的假设是,如果我指定“!test”,则所有 pod 都会输出,\n我认为指定“!app”时不会输出任何内容。
\n我想排除此处描述的示例中的密钥和输出,但未获得预期结果。
\nMy @ Pc: ~ / Understanding-K8s / chap04 $ kubectl get pod -l! app\nMy@Pc:~/Understanding-K8s/chap04$ kubectl get pod -l !app\n-bash: !app: event not found\nMy@Pc:~/Understanding-K8s/chap04$ kubectl get pod -l "!app"\n-bash: !app: event not found\nMy@Pc:~/Understanding-K8s/chap04$ kubectl get pod -l "!test"\n-bash: !test: event not found\nMy@Pc:~/Understanding-K8s/chap04$ kubectl get pod -l !test\n-bash: !test: event not found\n\nRun Code Online (Sandbox Code Playgroud)\n执行--show-labels命令的结果如下。
\nMy @ Pc: ~ / Understanding-K8s / chap04 $ kubectl get pod --show-labels\nNAME READY STATUS RESTARTS AGE LABELS\nnginx-pod-a 1/1 Running 0 89m app=photo-view,env=stage\nnginx-pod-b 1/1 Running 0 89m app=imagetrain,env=test\nnginx-pod-c 1/1 Running 0 89m app=prediction,env=test\nnginx-pod-d 1/1 Running 0 89m app=photo-view,env=stage\nnginx-pod-e 1/1 Running 0 89m app=imagetrain,env=stage\nnginx-pod-f 1/1 Running 0 89m app=photo-view,env=prod\nRun Code Online (Sandbox Code Playgroud)\n如何排除预期的键,例如 app 和 env?
\ntyzbit已经给了我答案,我也尝试过。\n我无法在评论中很好地描述结果,所以我会在这里添加它。
\nMy@Pc:~/Understanding-K8s/chap04$ kubectl get pod -l \'!app\'\nNo resources found in default namespace.\nMy@Pc:~/Understanding-K8s/chap04$ kubectl get pod -l \'!test\'\nNAME READY STATUS RESTARTS AGE\nnginx-pod-a 1/1 Running 0 162m\nnginx-pod-b 1/1 Running 0 162m\nnginx-pod-c 1/1 Running 0 162m\nnginx-pod-d 1/1 Running 0 162m\nnginx-pod-e 1/1 Running 0 162m\nnginx-pod-f 1/1 Running 0 162m\nRun Code Online (Sandbox Code Playgroud)\nGirdhar Singh Rathore 教我 AWK 和 jsonpath。
\n(也许我写错了格式...)
\nAWK\nMy@Pc:~$ kubectl get pods --show-labels | awk \'$6 !~/app/ {print ;}\'\nNAME READY STATUS RESTARTS AGE LABELS\n\nMy@Pc:~$ kubectl get pods --show-labels | awk \'$6 !~/test/ {print ;}\'\nNAME READY STATUS RESTARTS AGE LABELS\nnginx-pod-a 1/1 Running 0 18m app=photo-view,env=stage\nnginx-pod-d 1/1 Running 0 18m app=photo-view,env=stage\nnginx-pod-e 1/1 Running 0 18m app=imagetrain,env=stage\nnginx-pod-f 1/1 Running 0 18m app=photo-view,env=prod\nRun Code Online (Sandbox Code Playgroud)\njson路径\nMy@Pc:~$ kubectl get pods -o jsonpath=\'{range .items[*]} {.metadata.name} {.metadata.labels} {"\\n"} {end}\' | awk \'$2 !~/app/ {print $1}\'\n\nMy@Pc:~$ kubectl get pods -o jsonpath=\'{range .items[*]} {.metadata.name} {.metadata.labels} {"\\n"} {end}\' | awk \'$2 !~/test/ {print $1}\'\nnginx-pod-a\nnginx-pod-d\nnginx-pod-e\nnginx-pod-f\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
7474 次 |
| 最近记录: |