执行kubectl apply -f kustomization.yaml遇Kustomization资源匹配错误
Kustomize部署失败问题解决
问题根源
你用kubectl apply -f kustomization.yaml的方式不对,kustomization.yaml是Kustomize的专属配置文件,不属于标准Kubernetes资源清单,所以apply -f命令无法识别它。而kubectl kustomize .能正常执行,是因为这个命令的作用是解析Kustomize配置、生成可部署的资源清单,但不会直接部署到集群。
正确部署命令
有两种可行的部署方式:
- 借助管道传递Kustomize生成的清单:
kubectl kustomize . | kubectl apply -f - - 使用kubectl内置的Kustomize部署命令(Kubernetes 1.14及以上版本支持):
kubectl apply -k .
关于external metrics警告的说明
日志里的couldn't get resource list for http://external.metrics.k8s.io/v1beta1警告和本次部署失败无关,是因为集群中缺少提供外部metrics API的组件(比如Prometheus Adapter)。如果不需要基于外部metrics的功能(如HPA自动扩缩容),可以直接忽略;如果有需求,需要安装对应的metrics provider组件。
内容的提问来源于stack exchange,提问作者megha
相关产品推荐
相关产品推荐

