我最近应用了这个CRD文件
https://raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml
使用kubectl apply
安装:https://hub.helm.sh/charts/jetstack/cert-manager
我想我已经成功地做到了:
xetra11@x11-work configuration]$ kubectl apply -f ./helm-charts/certificates/00-crds.yaml --validate=false
customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io created
但是现在我想“看看”我刚才在这里应用的东西。我不知道如何列出这些定义,或者如果我认为它们会以某种方式破坏我的集群,就删除它们。
我在这里找不到任何信息:https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#preparing-to-install-a-custom-resource
6条答案
按热度按时间jtoj6r0c1#
kubectl get customresourcedefinitions
或kubectl get crd
。然后,您可以使用
kubectl describe crd <crd_name>
获取CRD的描述。当然还有kubectl get crd <crd_name> -o yaml
来获得CRD的完整定义。要删除,可以使用
kubectl delete crd <crd_name>
。hs1ihplo2#
自定义资源就像任何其他原生Kubernetes资源一样。
所有基本的kubeclt CRUD操作都适用于CRD。因此,只需使用下面的任何命令。
kmpatx3s3#
首先,您可以使用
kubectl get crd
列出所有CRD,例如:这是可用的CRD定义的列表,然后使用其中一个定义的名称并启动
kubectl get <crd_name>
,以从该CRD获取应用的资源的列表。例如:注意:使用
-A
来定位所有名称空间或-n <namespace>
tnkciper4#
列出crd(没有命名空间,因为crd是集群范围的):
描述crd:
kiz8lqtg5#
您可能会对为什么在
kubectl get api-resources
中看到您的CRD感到困惑,例如。Istio Telemetry资源:但是尝试
kubectl describe
它们会产生类似这样的错误或
这是因为必须使用CRD全名的复数形式。名称见
kubectl get crd
,例如:因此
kc describe crd telemetries.telemetry.istio.io
将适用于此CRD。deikduxw6#
由于CRD没有命名空间(但在集群范围内),因此您可能希望列出在特定命名空间中创建的所有自定义资源:
你可以在这里阅读更多https://github.com/kubernetes/kubectl/issues/151