Ral*_*lph 4 kubernetes traefik
我有一个关于 Kubernetes 中 apiVersion 的使用的问题。
例如,我正在尝试将 traefik 2.2.1 部署到我的 kubernetes 集群中。我有一个 traefik 中间件部署定义,如下所示:
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: https-redirect
spec:
redirectScheme:
scheme: https
permanent: true
port: 443
Run Code Online (Sandbox Code Playgroud)
当我尝试使用以下方式部署我的对象时
$ kubectl apply -f middleware.yaml
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
unable to recognize "middleware.yaml": no matches for kind "Middleware" in version "traefik.containo.us/v1alpha1"
Run Code Online (Sandbox Code Playgroud)
同一个对象在 Traefik 2.2.0 版本中工作正常,但在 2.2.1 版本中则不行。
在 traefik 文档中,没有其他使用版本“traefik.containo.us/v1alpha1”的示例
我不认为我的部署问题是 traefik 特有的。这是版本冲突的普遍问题。有什么方法可以确定我的集群环境支持哪些 apiVersions?
有很多过时的示例使用已弃用的 apiVersions 发布,我想知道 kubernetes 是否有某种官方 apiVersion 目录?或者也许有一些 kubectl 命令我可以询问 apiversions?
很可能没有安装 traefik v2 的 crd。您可以使用以下命令列出 Kubernetes 集群上可用的 API 版本。
kubectl api-versions | grep traefik
traefik.containo.us/v1alpha1
Run Code Online (Sandbox Code Playgroud)
使用以下命令检查 Kubernetes 集群上安装的 crd。
kubectl get crds
NAME CREATED AT
ingressroutes.traefik.containo.us 2020-05-09T13:58:09Z
ingressroutetcps.traefik.containo.us 2020-05-09T13:58:09Z
ingressrouteudps.traefik.containo.us 2020-05-09T13:58:09Z
middlewares.traefik.containo.us 2020-05-09T13:58:09Z
tlsoptions.traefik.containo.us 2020-05-09T13:58:09Z
tlsstores.traefik.containo.us 2020-05-09T13:58:09Z
traefikservices.traefik.containo.us 2020-05-09T13:58:09Z
Run Code Online (Sandbox Code Playgroud)
在这里检查 traefik v1 与 v2
归档时间: |
|
查看次数: |
2679 次 |
最近记录: |