Kubernetes:头盔状态输出中的打印命名空间

Kubernetes:头盔状态输出中的打印命名空间,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,在helm status mychart的输出中,它显示部署图表的命名空间,即NAMESPACE:default 如果我运行kubectl get all-A,它会显示名称空间和资源名称- #=> kubectl get all -A NAMESPACE NAME READY STATUS RESTARTS AGE nginx pod/nginx-web-stg-55f55958-v2cx

在helm status mychart的输出中,它显示部署图表的命名空间,即NAMESPACE:default

如果我运行kubectl get all-A,它会显示名称空间和资源名称-

#=> kubectl get all -A
NAMESPACE           NAME                             READY    STATUS  RESTARTS  AGE
nginx         pod/nginx-web-stg-55f55958-v2cxm        0/1     Pending    0      20m
tomcat        pod/tomcat-api-stg-6d54498fdd-cqctr     1/1     Running    0      20m
在Kubectl输出中,命名空间列包含在输出中,但不包含在helm status mychart中。我希望在helm status mychart output中打印资源和名称空间。

kubectl和helm的输出格式完全不相关。我不知道您可以以任何方式修改helmstatus的输出,使其显示每个资源的名称空间

Helm帮助您管理Kubernetes应用程序-Helm图表帮助您定义、安装和升级最复杂的Kubernetes应用程序

Kubernetes命令行工具kubectl允许您对Kubernetes集群运行命令。您可以使用kubectl部署应用程序、检查和管理集群资源以及查看日志

根据简单执行:

$kubectl api resources-o name | xargs-n 1 kubectl get-show kind-ignore not found-l release=您的图表名-所有名称空间

样本输出:

user@home:~$ kubectl api-resources  -o name   | xargs -n 1 kubectl get --show-kind --ignore-not-found -l release=terrific-ferret --all-namespaces

NAME                                 STATUS    MESSAGE              ERROR
componentstatus/scheduler            Healthy   ok
componentstatus/etcd-0               Healthy   {"health": "true"}
componentstatus/etcd-1               Healthy   {"health": "true"}
componentstatus/controller-manager   Healthy   ok
NAMESPACE   NAME                                   DATA   AGE
default     configmap/terrific-ferret-mysql-test   1      12m
NAMESPACE   NAME                              ENDPOINTS          AGE
default     endpoints/terrific-ferret-mysql   aa.bb.cc.dd:port   12m
NAMESPACE   NAME                                          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
default     persistentvolumeclaim/terrific-ferret-mysql   Bound    pvc-896382d2   8Gi        RWO            standard       12m
NAMESPACE   NAME                                         READY   STATUS    RESTARTS   AGE
default     pod/terrific-ferret-mysql-86588b4646   1/1     Running   0          2m55s
NAMESPACE   NAME                           TYPE     DATA   AGE
default     secret/terrific-ferret-mysql   Opaque   2      13m
NAMESPACE   NAME                            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
default     service/terrific-ferret-mysql   ClusterIP   xx.yy.zz.ww   <none>        3306/TCP   13m
NAMESPACE   NAME                                    DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
default     deployment.apps/terrific-ferret-mysql   1         1         1            1           13m
NAMESPACE   NAME                                               DESIRED   CURRENT   READY   AGE
default     replicaset.apps/terrific-ferret-mysql-86  1         1         1       13m
我们使用kubectl api资源列出所有支持的资源类型及其短名称

您可以在此处找到有用的信息:


有用的博客:。

我同意helm status不提供自定义/修改其输出格式。但是使用这种格式,很难用多个名称空间区分集群内的资源。另一个选项是使用kubectl通过指定名称空间进行筛选,但一个缺点是kubectl get all-A不提供所有资源列表,这会使其更加复杂。kubectl get all,但您可以通过使用,例如,kubectl get all,secrets,节点-A。这可能是最接近的,你可以以一种简单的方式列出所有你想要的资源。我已经更新了我的答案,你能检查一下吗?请让我知道它是否有效。
user@home:~$ kubectl api-resources  -o name   | xargs -n 1 kubectl get --show-kind --ignore-not-found -l release=terrific-ferret --all-namespaces

NAME                                 STATUS    MESSAGE              ERROR
componentstatus/scheduler            Healthy   ok
componentstatus/etcd-0               Healthy   {"health": "true"}
componentstatus/etcd-1               Healthy   {"health": "true"}
componentstatus/controller-manager   Healthy   ok
NAMESPACE   NAME                                   DATA   AGE
default     configmap/terrific-ferret-mysql-test   1      12m
NAMESPACE   NAME                              ENDPOINTS          AGE
default     endpoints/terrific-ferret-mysql   aa.bb.cc.dd:port   12m
NAMESPACE   NAME                                          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
default     persistentvolumeclaim/terrific-ferret-mysql   Bound    pvc-896382d2   8Gi        RWO            standard       12m
NAMESPACE   NAME                                         READY   STATUS    RESTARTS   AGE
default     pod/terrific-ferret-mysql-86588b4646   1/1     Running   0          2m55s
NAMESPACE   NAME                           TYPE     DATA   AGE
default     secret/terrific-ferret-mysql   Opaque   2      13m
NAMESPACE   NAME                            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
default     service/terrific-ferret-mysql   ClusterIP   xx.yy.zz.ww   <none>        3306/TCP   13m
NAMESPACE   NAME                                    DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
default     deployment.apps/terrific-ferret-mysql   1         1         1            1           13m
NAMESPACE   NAME                                               DESIRED   CURRENT   READY   AGE
default     replicaset.apps/terrific-ferret-mysql-86  1         1         1       13m