如何将kubectl describe的输出格式化为JSON

Gab*_*vay 21 output-formatting kubernetes kubectl

kubectl getcommand有这个标志-o来格式化输出.

是否有类似的方式来格式化kubectl describe命令的输出?

例如:

kubectl describe -o="jsonpath={...}" pods my-rc
Run Code Online (Sandbox Code Playgroud)

将为my-rc复制控制器中的pod列表打印JSON格式.但-odescribe命令不被接受.

jan*_*kuo 20

kubectl describe不支持-o或等同.它意味着人类可读而不是脚本友好.您可以实现您所描述的内容kubectl get pods -l <selector_of_your_rc> -o <output_format>,例如:

$ kubectl get pods -l app=guestbook,tier=frontend -o name
pod/frontend-a4kjz
pod/frontend-am1ua
pod/frontend-yz2dq
Run Code Online (Sandbox Code Playgroud)


Jon*_*297 7

就我而言,我需要从服务中获取负载均衡器地址。我使用kubectl get service

$ kubectl -n <namespace> -ojson get service <service>

{
    "apiVersion": "v1",
    "kind": "Service",
    [...]
    "status": {
        "loadBalancer": {
            "ingress": [
                {
                    "hostname": "internal-xxxxxxxxxxxxxxxxxxxxxxxxxxx-yyyyyyyyyy.us-east-1.elb.amazonaws.com"
                }
     [...]
}
Run Code Online (Sandbox Code Playgroud)