gpt4 book ai didi

kubernetes - 如何在Kubernetes中找到正确的api版本?

转载 作者:行者123 更新时间:2023-12-02 12:01:15 32 4
gpt4 key购买 nike

我对Kuberntes中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

当我尝试使用
$ kubectl apply -f middleware.yaml

我收到以下错误消息:
unable to recognize "middleware.yaml": no matches for kind "Middleware" in version "traefik.containo.us/v1alpha1"

同一对象在Traefik 2.2.0版中可以正常工作,但在2.2.1版中则不能。

在traefik文档上,没有其他示例使用版本“traefik.containo.us/v1alpha1”

我不认为我的部署问题是特定于traefik的。这是版本冲突的普遍问题。有什么方法可以确定集群环境中支持哪些apiVersions?

关于使用过时的apiVersions张贴了太多过时的示例,我不知道是否有kubernetes的某种官方apiVersion目录?也许有一些我可以要求apiversions的kubectl命令?

最佳答案

traefik v2的crds很可能未安装。您可以使用以下命令,该命令列出了Kubernetes集群上可用的API版本。

kubectl api-versions | grep traefik
traefik.containo.us/v1alpha1

使用以下命令检查安装在Kubernetes集群上的crds。
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

检查traefik v1 vs v2 here

关于kubernetes - 如何在Kubernetes中找到正确的api版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61697627/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com