在我的入口-srv中可能导致以下错误的原因是什么?yaml文件



用docker和kubernetes构建一个微服务应用程序(Node/React),当我运行skaffold dev命令时,我一直得到以下错误。

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

这是我的入口-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

这是我的脚手架。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: .

应将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

参考本文档

我知道这个问题有点老了,但是……这是我的答案。

确保pathType路径数组;

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

相关内容

最新更新