k3s 1.25.5中Traefik Ingress正确配置方法咨询
问题解决:K3s 1.25.5中Ingress API版本错误修复
你的推测完全正确——Kubernetes从1.22版本开始就彻底移除了extensions/v1beta1版本的Ingress API,而k3s 1.25.5属于更高版本,因此必须使用networking.k8s.io/v1这个稳定版API。
以下是适配k3s 1.25.5的正确Ingress配置:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: c8-ingress annotations: kubernetes.io/ingress.class: "traefik" spec: rules: - http: paths: - path: "/" pathType: Prefix # 路径匹配规则,Prefix表示前缀匹配,Exact为精确匹配 backend: service: name: dev-zeebe-gateway port: number: 26500
关键修改点说明:
- API版本替换:将
extensions/v1beta1改为networking.k8s.io/v1,这是当前Kubernetes稳定版Ingress的标准API - 路径结构调整:
- 新增
pathType字段,为必填项,可选值包括Prefix、Exact、ImplementationSpecific - 后端服务配置从
serviceName/servicePort改为嵌套的service.name和service.port.number结构
- 新增
如果你的Traefik是v2.x版本,也可以选择使用spec.ingressClassName替代注解(两者功能等效,推荐后者用于新版本Kubernetes):
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: c8-ingress spec: ingressClassName: traefik # 替代原注解的方式 rules: - http: paths: - path: "/" pathType: Prefix backend: service: name: dev-zeebe-gateway port: number: 26500
应用配置时直接执行:
kubectl apply -f zeebe-traefik.yaml
内容的提问来源于stack exchange,提问作者Andy Dufresne
相关产品推荐
相关产品推荐

