【问题标题】:What could be causing the following error in my ingress-srv.yaml file是什么导致我的 ingress-srv.yaml 文件出现以下错误
【发布时间】:2022-12-18 04:31:44
【问题描述】:

使用 docker 和 kubernetes 构建微服务应用程序(节点/反应),当我运行 skaffold dev 命令时,我不断收到以下错误。

- stderr: "error: unable to recognize ~/infra/k8s/ingress-srv.yaml\": no matches for kind \"Ingress\" in version \"extensions/v1beta1\"\n"

这是我的 ingress-srv.yaml 文件:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-serv
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
spec:
  rules:
    - host: ticketing.dev
      http:
        paths:
          - pathType: Prefix
          - path: "/api/users/?(.*)"
            backend:
              service:
                name: auth-srv
                port:
                  number: 3000

这是我的 skaffold.yaml 文件

apiVersion: skaffold/v2alpha3
kind: Config
deploy:
  kubectl:
    manifests:
      - ./infra/k8s/*
build:
  local:
    push: false
  artifacts: 
    - image: mutuadocker/auth
      context: auth
      docker:
        dockerfile: Dockerfile
      sync: 
        manual: 
          - src: "src/**/*.ts"
            dest: .

【问题讨论】:

    标签: kubernetes skaffold


    【解决方案1】:

    您应该将 apiVersion: extensions/v1beta1 更改为 apiVersion: networking.k8s.io/v1 所以你的文件看起来像这样:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: ingress-serv
      annotations:
        kubernetes.io/ingress.class: nginx
        nginx.ingress.kubernetes.io/use-regex: "true"
    spec:
      rules:
        - host: ticketing.dev
          http:
            paths:
              - pathType: Prefix
              - path: "/api/users/?(.*)"
                backend:
                  service:
                    name: auth-srv
                    port:
                      number: 3000
    

    参考this documentation

    【讨论】:

      【解决方案2】:

      我知道这个问题部分是旧的但是...... 这是我的答案。

      确保路径类型在里面路径大批;不在它外面而不是作为一个独立的阵列

      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: ingress-serv
        annotations:
        kubernetes.io/ingress.class: nginx
          nginx.ingress.kubernetes.io/use-regex: "true"
      spec:
        rules:
          - host: ticketing.dev
            http:
              paths:
                - path: "/api/users/?(.*)"
                  pathType: Prefix
                  backend:
                    service:
                      name: auth-srv
                      port:
                        number: 3000
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-27
        • 1970-01-01
        • 1970-01-01
        • 2022-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多