kubernetes - 部署后如何在 kubernetes 中删除 Traefik 2.0 中间件

我有以下 YAML (test.yaml) 文件,它允许我为 traefik 2 创建入口路由器和中间件

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: test
  namespace: qa
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`my-url.com`) && PathPrefix(`/test`)
      kind: Rule
      services:
        - name: test
          port: 8000
      middlewares:
        - name: testmiddle
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: testmiddle
  namespace: qa
spec:
  stripPrefix:
    prefixes:
      - /test

以下文件有效。但是,当我尝试使用以下命令将其删除时:

kubectl delete -f test.yaml

Traefik 提示中间件和入口路由器没有预设。错误示例如下:

time="2021-07-09T18:15:12Z" level=error msg="middleware \"qa-test@kubernetescrd\" does not exist" routerName=qa-test-29c010046e0ec473d890@kubernetescrd entryPointName=web 
time="2021-07-09T18:15:25Z" level=error msg="middleware \"qa-test@kubernetescrd\" does not exist" entryPointName=web routerName=qa-test-29c010046e0ec473d890@kubernetescrd 
time="2021-07-09T18:15:25Z" level=error msg="middleware \"qa-test@kubernetescrd\" does not exist" entryPointName=web routerName=qa-test-29c010046e0ec473d890@kubernetescrd 
time="2021-07-09T18:31:44Z" level=error msg="middleware \"qa-test@kubernetescrd\" does not exist" entryPointName=web routerName=qa-test-29c010046e0ec473d890@kubernetescrd

你知道如何无误地删除中间件和入口路由器吗?

最佳答案

尝试编辑 IngressRoute 以先从 IngressRoute 中删除中间件,然后删除中间件,然后再删除 IngressRoute。

kubectl edit ingressroute test -n qa; 
kubectl delete middleware testmiddle -n qa; 
kubectl delete ingressroute test -n qa

因为这些是 crd,API 服务器在从文件中删除时不会以正确的顺序删除它们,您会在日志中看到错误消息。

关于kubernetes - 部署后如何在 kubernetes 中删除 Traefik 2.0 中间件和 IngressRoute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68321401/

相关文章:

javascript - A 帧动画框在特定区域随机移动

python - 我的损失函数在训练期间没有得到更小的值

schema - Protocol Buffer 架构无效。导入 "google/protobuf/

sql - 如何获得日期 + 时间的确定性计算值

reactjs - 如何在 primereact 中拥有主题切换器

python - numpy 中如何实现多维数组切片/索引?

rust - 如何正确处理 Warp 路由的错误

python - 多次拟合时 keras fit() 的历史

c - 为什么 GTK 4 报告 "assertion ' GTK_IS_WIDGET(部件 )'

sass - Stylelint 禁用规则, "no-descending-specificity"