什么是CRD
CRD的全称为 CustomResourceDefinitions ,即自定义资源。k8s拥有一些内置的资源,比如说Pod,Deployment,ReplicaSet等等,而CRD则提供了一种方式,使用户可以自定义新的资源,以扩展k8s的功能。
使用CRD可以在不修改k8s源代码的基础上方便的扩展k8s的功能,比如腾讯云TKE使用CRD: logcollectors.ccs.cloud.tencent.com 以添加日志收集服务,而Istio也大量使用到了CRD。
值得一提的是,另一种扩展k8s的方式是apiservice,通过API:metrics.k8s.io自定义HPA是其最典型的应用。
可以使用 kubectl api-resources 命令查看集群中已定义的资源:
[root@node k8s]# kubectl api-resources
NAME SHORTNAMES APIGROUP NAMESPACED KIND
configmaps cm true ConfigMap
endpoints ep true Endpoints
events ev true Event
namespaces ns

本文介绍了Kubernetes的CustomResourceDefinitions(CRD),一种用于扩展K8s功能的方法,允许用户自定义新的资源类型。通过CRD,可以创建如腾讯云TKE的日志收集服务等。CRD包括多个属性,如NAME、SHORTNAMES、APIGROUP等,并需配合控制器实现功能。创建CRD和其对象涉及资源文件定义和kubectl命令操作。
最低0.47元/天 解锁文章
338

被折叠的 条评论
为什么被折叠?



