Kubernetes:头盔状态输出中的打印命名空间
在helm status mychart的输出中,它显示部署图表的命名空间,即NAMESPACE:default 如果我运行kubectl get all-A,它会显示名称空间和资源名称-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
#=> 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