我使用helm install
部署了头盔图表,此后,我想查看与该部署相关的pod / services / cms是否出现或失败。有办法看到吗?
使用kubectl get pods
并在名称中使用greping可以,但是它不会显示在部署此头盔图表时已部署的服务和其他资源。
答案 0 :(得分:2)
helm get manifest RELEASE_NAME
helm get all RELEASE_NAME
答案 1 :(得分:1)
通过发行:
kubectl get all -n <namespace> | grep ...
您将仅查询以下资源:
我建议您阅读本文以获取更多说明:
使用上面链接中的示例,您可以通过发出以下命令来查询API的所有资源:
kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind -l LABEL=VALUE --ignore-not-found -o name
此命令将向API查询群集中的所有资源类型,然后按label
分别查询每个资源。
您可以使用labels
在Helm图表中创建资源,然后通过指定-l LABEL=VALUE
来查询API。
假设您按照以下Helm图表进行配置
$ helm install awesome-nginx stable/nginx-ingress
此图表已弃用,但仅出于示例目的。
您可以使用以下方法查询API的所有资源:
kubectl api-resources --verbs=list -o name | xargs -n 1 kubectl get --show-kind -l release=awesome-nginx --ignore-not-found -o name
其中:
LABEL
<-发布VALUE
<-awesome-nginx(发行名称)之后,您应该可以看到:
endpoints/awesome-nginx-nginx-ingress-controller
endpoints/awesome-nginx-nginx-ingress-default-backend
pod/awesome-nginx-nginx-ingress-controller-86b9c7d9c7-wwr8f
pod/awesome-nginx-nginx-ingress-default-backend-6979c95c78-xn9h2
serviceaccount/awesome-nginx-nginx-ingress
serviceaccount/awesome-nginx-nginx-ingress-backend
service/awesome-nginx-nginx-ingress-controller
service/awesome-nginx-nginx-ingress-default-backend
deployment.apps/awesome-nginx-nginx-ingress-controller
deployment.apps/awesome-nginx-nginx-ingress-default-backend
replicaset.apps/awesome-nginx-nginx-ingress-controller-86b9c7d9c7
replicaset.apps/awesome-nginx-nginx-ingress-default-backend-6979c95c78
podmetrics.metrics.k8s.io/awesome-nginx-nginx-ingress-controller-86b9c7d9c7-wwr8f
podmetrics.metrics.k8s.io/awesome-nginx-nginx-ingress-default-backend-6979c95c78-xn9h2
rolebinding.rbac.authorization.k8s.io/awesome-nginx-nginx-ingress
role.rbac.authorization.k8s.io/awesome-nginx-nginx-ingress
您可以通过更改-o
参数来修改输出。
其他资源:
答案 2 :(得分:1)
如果您使用 Helm3:
要列出由 helm 管理的所有资源,请使用带有标签 app.kubernetes.io/managed-by=Helm
的标签选择器:
$ kubectl get all --all-namespaces -l='app.kubernetes.io/managed-by=Helm'
列出由 helm 管理的所有资源和特定版本的一部分:(edit release-name
)
kubectl get all --all-namespaces -l='app.kubernetes.io/managed-by=Helm,app.kubernetes.io/instance=release-name'
答案 3 :(得分:0)
kubectl get all -n <namespace> | grep <helm chart keyword, ex: kibana, elasticsearch>
应列出在特定名称空间中由舵图创建的所有资源
答案 4 :(得分:0)
helm status RELEASE_NAME
此命令显示命名发行版的状态。状态包括 的:
- 最后部署时间
版本所在的- k8s名称空间
- 发布状态(可以是:未知,已部署,已卸载,已取代,失败,正在卸载,挂起安装,挂起升级或 未完成回滚)
- 此版本组成的资源列表,按种类排序
- 有关上次测试套件运行的详细信息(如果适用)
- 图表提供的其他注释
用法:掌舵状态RELEASE_NAME [标志]
还要注意,头盔在其管理的资源see here上放置了一些已知的标签/注释。您可以将其与kubectl get ... -l ...