描述 Pod 信息

Ind*_*our 3 kubernetes kubectl

如果 pod 信息不属于默认命名空间,我如何描述它。使用默认名称空间我没有任何问题。

但我想获得该特定 pod 的信息,该 pod 确实具有与其对齐的命名空间。

在此输入图像描述

但是当我想描述同一个吊舱时,我可以做到这一点,请参阅 在此输入图像描述

我尝试使用所有名称空间标志,但它不允许我查询,就像这样。

kubectl describe pods airflow-scheduler-646ffbfd67-k7dgh --all-namespaces

P..*_*... 9

您必须明确提及您计划描述的 pod 的名称空间。为此,您需要使用-nkubectl 命令的标志:

kubectl describe  pods airflow-scheduler-646ffbfd67-k7dgh -n <namespace>
Run Code Online (Sandbox Code Playgroud)

如果您使用bash环境连接到 Kubernetes 集群,您可以使用以下函数从任何名称空间描述 POD,您可以为其添加别名或将其放入 bashrc 中:

describe_pod()
{
if [ $# -ne 1 ];then
    echo "Error: Pod name is missing as input argument"
    return 1
fi

pod_name=${1}

kubectl describe pod "${pod_name}"  -n $(kubectl get pod -A | awk -v pod="$pod_name" -v def=default '$2==pod{ns=$1} END{if(!length(ns))print def; else print ns}')
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

describe_pod <pod-name-from-any-namespace>
Run Code Online (Sandbox Code Playgroud)

例如:

describe_pod airflow-scheduler-646ffbfd67-k7dgh
Run Code Online (Sandbox Code Playgroud)

通过对该函数的简单修改,它可以用于其他 k8s 对象。