#node.js #kubernetes #microservices #nginx-ingress #skaffold
#node.js #kubernetes #микросервисы #nginx-ingress #skaffold
Вопрос:
Когда я запускаю skaffold, я получаю эту ошибку. Skaffold генерирует теги, проверяет кеш, запускает развертывание, затем оно очищается.
- stderr: "error: error parsing C: ~k8s\ingress-srv.yaml: error converting YAML to JSON: yaml: line 20: mapping values are not allowed in this context
n"
- cause: exit status 1
Docker создает контейнер для сервера. Вот файл ingress server yaml:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-srv
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: northernherpgeckosales.dev
http:
paths:
- path: /api/users/?(.*)
pathType: Prefix
backend:
service:
name: auth-srv
port:
number: 3000
- path: /?(.*)
pathType: Prefix
backend:
service:
name: front-end-srv
port:
number: 3000
Для хорошей оценки вот файл skaffold:
apiVersion: skaffold/v2alpha3
kind: Config
deploy:
kubectl:
manifests:
- ./infra/k8s/*
build:
local:
push: false
artifacts:
- image: giantgecko/auth
context: auth
docker:
dockerfile: Dockerfile
sync:
manual:
- src: 'src/**/*.ts'
dest: .
- image: giantgecko/front-end
context: front-end
docker:
dockerfile: Dockerfile
sync:
manual:
- src: '**/*.js'
dest: .
Ответ №1:
Внимательно посмотрите на ваш файл определения входа (начиная со строки 19):
- path: /?(.*)
pathType: Prefix
backend:
service:
name: front-end-srv
port:
number: 3000
У вас есть ненужные отступы от строки 20 ( pathType: Prefix
) до конца файла. Просто правильно отформатируйте свой файл YAML. Для предыдущего path: /api/users/?(.*)
все в порядке — никаких ненужных отступов.
Окончательный YAML выглядит так:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-srv
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: northernherpgeckosales.dev
http:
paths:
- path: /api/users/?(.*)
pathType: Prefix
backend:
service:
name: auth-srv
port:
number: 3000
- path: /?(.*)
pathType: Prefix
backend:
service:
name: front-end-srv
port:
number: 3000
Комментарии:
1. Такие инструменты, как облачный код (cloud.google.com/code ) проверять ресурсы Kubernetes и отмечать такие ошибки