我正在使用fleetctl和kubectl,并希望从kubectl get pod app-etcd
中提取IP:
POD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS CREATED MESSAGE
app-etcd 10.10.0.1 k8s-socius-node-1/100.100.100.100 name=app-etcd Running 3 days
app-etcd xyz/etcd-discovery Running 3 days
我最接近的IP地址是:
kubectl get pod app-etcd | grep -Eo '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'
但这给了我两个IP地址(10.10.0.1和100.100.100.100);我之后只想要/需要第一个在配置文件上运行sed
。
如何只获取第一个地址以将其存储在变量中以进行进一步处理?
答案 0 :(得分:1)
如果您使用awk
获取第二列输出(如
kubectl get pod app-etcd | awk '{print $2}'
答案 1 :(得分:1)
kubectl提供带--output / -o
的json输出:
kubectl get -o json pod app-etcd | jsawk 'return this.status.podIP'