1
resposta

[Dúvida] Erro ao executar comando

Ao realizar o comando "helm install alura-foods-app .", recebi o erro: Error: INSTALLATION FAILED: YAML parse error on alura-foods-app/templates/gateway.yaml: error converting YAML to JSON: yaml: line 11: mapping values are not allowed in this context

Pesquisei na internet e o que encontrei foi que o mais provável era um erro de identação no arquivo, ou uma key sem value. Pórem verifiquei que não é esse o caso. Vi o código do projeto no github e está idêntico. Mesmo assim continuo recebendo o mesmo erro. Eis o código em questão:

#templates/gateway.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gateway
  labels:
    {{- include "alura-foods-app.labels" .| nindent 4}}
    app: gateway
spec:
  replicas: {{.Values.gateway.replicaCount}}
  selector:
    matchLabels:
      app: gateway
  template:
    metadata:
      labels:
        app: gateway
    spec:
      containers:
      - name: gateway
        image: {{.Values.gateway.image}}
        ports:
        - containerPort: {{.Values.gateway.port}}
        env:
        - name: SERVER_HOST
          valueFrom:
            configMapKeyRef:
              name: {{.Values.configMap.name}}
              key: SERVER_HOST
#values.yaml
configMap:
  name: dados
  data:
    SERVER_HOST: "http://server-0.server:8081/eureka,http://server-1.server:8081/eureka"
    DB_HOST: "alura-foods-app-mysql"
    DB_USER: "root"

gateway:
  replicaCount: 2
  image: leonardosartorello/java-gateway-k8s:v3
  port: 80

pagamentos:
  replicaCount: 2
  image: leonardosartorello/java-pagamentos-k8s:v3
  port: 40000

pedidos:
  replicaCount: 2
  image: leonardosartorello/java-pedidos-k8s:v3
  port: 40001

server:
  replicaCount: 2
  image: leonardosartorello/java-server-k8s:v3
  port: 8081

service:
  # - name: mysql
  #   label: mysql
  #   port: 3306
  - name: server
    label: server
    port: 8081
  - name: pagamentos-ms
    label: pagamentos
    port: 40000
  - name: pedidos-ms
    label: pedidos
    port: 40001

secret:
  name: alura-foods-app-mysql

Estou usando vscode com windows.

1 resposta

Olá, Williams. Tudo bem?

Esse erro geralmente é de identação mesmo, tenta comparar certinho e alterar. Eu testei aqui para te responder e aconteceu o mesmo problema porém no arquivo server.yaml coincidentemente na linha 11, era problema na identação, veja o erro:

Error: INSTALLATION FAILED: YAML parse error on alura-foods-app/templates/server.yaml: error converting YAML to JSON: yaml: line 11: mapping values are not allowed in this context     

Eu copiei o código do GitHub do professor e veio com a identação diferente(quando copia assim pode ter diferença), só consegui corrigir comparando no olho com o código do GitHub contando os tabs e espaços(quase passou despercebido). Vou deixar um print do arquivo gateway.yaml para você comparar com a identação, eu fiz seguindo sempre pela letra da linha anterior:

Print do VSCode no projeto kubernetes helm com o arquivo "gateway.yaml" aberto

Vou deixar aqui também, o meu projeto no GitHub configurado para o deploy do vídeo 02 Realizando o deploy:

Para o MySQL utilizei a versão mais recente, no arquivo Chart.yaml está assim:

dependencies:
  - name: mysql
    version: "11.1.17"
    repository: https://charts.bitnami.com/bitnami

Caso isso não resolva, verifica os outros arquivos se não tem nenhum erro de digitação ou na identação.

Espero ter ajudado. 

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!