我在运行裸机的 Kubernetes 集群中使用 Traefik 作为入口控制器。目前,自定义资源定义文档中的示例都使用apiVersion: apiextensions.k8s.io/v1beta1。我想将其重写为 apiVersion: apiextensions.k8s.io/ v1。我已经尝试过,但似乎遗漏了一些东西-也许有人可以提供帮助:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: middlewares.traefik.containo.us
spec:
group: traefik.containo.us
versions:
- name: v1alpha1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
names:
kind: Middleware
plural: middlewares
singular: middleware
scope: Namespaced
后来我使用它如下:
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: stripprefix
spec:
stripPrefix:
prefixes:
- "/path"
现在它正在接受 yaml 文件,但我仍然在 traefik 日志中收到错误:
"msg":"invalid middleware \"default-stripprefix@kubernetescrd\"
configuration: invalid middleware type or middleware does not exist",
"routerName":"minimal-ingress-default@kubernetes"
配置中没有其他任何更改,它以前工作过。
提前致谢