kubernetes 定义k3s流量的入口

deikduxw  于 2023-02-07  发布在  Kubernetes
关注(0)|答案(1)|浏览(138)

我正在运行k3s版本1.25.5,我想将traefik定义为通过an external helm chart定义的服务之一的入口。我正在努力寻找正确的入口定义。我尝试使用下面的yaml文件,但出现错误说明

error: resource mapping not found for name: "c8-ingress" namespace: "" from "zeebe-traefik.yaml": no matches for kind "Ingress" in version "extensions/v1beta1"
ensure CRDs are installed first

这似乎是因为在yaml文件中使用了一个旧的apiVersion。如何正确地做到这一点?

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: c8-ingress
  annotations:
    kubernetes.io/ingress.class: "traefik"
spec:
  rules:
  - http:
      paths:
      - path: "/"
        backend:
          serviceName: dev-zeebe-gateway
          servicePort: 26500

谢谢。

lmvvr0a8

lmvvr0a81#

您的示例使用了过时的入口定义。在v1.25.x中,您需要使用稳定的networking.k8s.io/v1 API,如here所述。
还建议提供fitting命名空间。这对于文档很有用,但对于资源后端也是必需的。它还将避免向每个kubectl apply添加-n YOURNAMESPACE
在您的情况下,这可能类似于:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: c8-ingress
  namespace: YOURNAMESPACE
spec:
  rules:
    - http:
        paths:
          - pathType: Prefix
            path: /
            backend:
              service:
                name: dev-zeebe-gateway
                port:
                  number: 26500

我希望这有助于解决您的问题。
在许多情况下,您可以运行kubectl explain RESOURCE来获取给定api-resource的有用链接和资源。

相关问题