我正在使用kustomize将一个清单传输到一个新的k8s集群(v1.17.2)上,在其中包括CRDs,但其他对象无法找到它们。例如:
unable to recognize "STDIN": no matches for kind "Certificate" in version "cert-manager.io/v1alpha2"
unable to recognize "STDIN": no matches for kind "IngressRoute" in version "traefik.containo.us/v1alpha1"
CRD定义在我的kubectl的resources
部分中,在我将其管道传输到kubectl的输出中显示。我确定上次采用把所有内容都放在同一个文件中的方法是行得通的。
如果我先应用CRD,然后再单独应用主清单,那么一切都可以正常通过。我能否同时完成所有操作?如果可以,那么我做错了什么;如果不行,那么为什么以前可以行得通?
有人能指出问题可能出在哪里吗?
示例CRD定义:
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: ingressroutetcps.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: IngressRouteTCP
plural: ingressroutetcps
singular: ingressroutetcp
scope: Namespaced
version: v1alpha1