Jul*_*oro 11 bash kubernetes kubectl
我正在使用 kubernetes,我想从应用程序名称中获取 podname。这是我使用的命令。
POD=$(kubectl get pods -l app=influxdb-local -o custom-columns=:metadata.name -n influx)
Run Code Online (Sandbox Code Playgroud)
然后我想将结果用于:
kubectl exec -it -n influx $POD -- influx -username user -password "user" -execute "CREATE DATABASE db"
Run Code Online (Sandbox Code Playgroud)
但是第一行是空的,第二行包含pod名称,所以第二个命令不起作用。
我应该如何删除第一条白线?
Jon*_*nas 29
添加--no-headers跳过标题行
kubectl get pods -l app=influxdb-local -o custom-columns=:metadata.name -n influx --no-headers
Run Code Online (Sandbox Code Playgroud)
使用该标志-o custom-columns=<header-name>:<field>可以让您自定义输出。
标题下带有资源名称的示例NAME
kubectl get pods -o custom-columns=NAME:metadata.name
Run Code Online (Sandbox Code Playgroud)
输出
NAME
myapp-5b77df6c48-dbvnh
myapp-64d5985fdb-mcgcn
httpd-9497b648f-9vtbl
Run Code Online (Sandbox Code Playgroud)
空标题名称:您将标志用作-o custom-columns=:metadata.name- 第一行是标题行,但标题为空。
省略标题行的正确解决方案是使用标志--no-headers
kubectl get pods -o custom-columns=NAME:metadata.name --no-headers
Run Code Online (Sandbox Code Playgroud)
输出示例
myapp-5b77df6c48-dbvnh
myapp-64d5985fdb-mcgcn
httpd-9497b648f-9vtbl
Run Code Online (Sandbox Code Playgroud)