Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

problema no config map.

criei um config map com os seguintes dados:

apiVersion: v1 kind: ConfigMap metadata: name: dbconfigmap data: dbconfig.properties: MYSQL_ROOT_PASSWORD= q1w2e3r4 MYSQL_DATABASE= empresa MYSQL_PASSWORD= q1w2e3r4

ao atualizar o POD, da seguinte forma:

apiVersion: v1 kind: Pod metadata: name: db-noticias labels: app: db-noticias spec: containers:

  • name: db-noticias-container image: aluracursos/mysql-db:1 ports:
    • containerPort: 3306 envFrom:
    • configMapRef: name: dbconfigmap

estou preso no loop de: Back-off restarting failed container db-noticias-container in pod db-noticias_default(f41f9786-bd6b-4468-a0c2-852e6c962170)

utilizei o kubectl log e obtive a seguinte mensagem:

2023-11-09 13:50:43+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.48-1debian9 started. 2023-11-09 13:50:44+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 2023-11-09 13:50:44+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.48-1debian9 started. 2023-11-09 13:50:44+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

alguem consegue me dizer onde posso estar errando?

1 resposta
solução!

Olá!

Pedi ajuda pro chatzinho:

  1. Verificando o ConfigMap: Dê uma olhada no seu ConfigMap para garantir que as configurações do MySQL estejam certas. Confirme se os dados no arquivo dbconfig.properties estão no formato correto, usando dois pontos (:) para separar as chaves e os valores.

    Exemplo:

    MYSQL_ROOT_PASSWORD: q1w2e3r4
    MYSQL_DATABASE: empresa
    MYSQL_PASSWORD: q1w2e3r4
    
  2. Revisando a Configuração do Pod: Verifique seu Pod para garantir que esteja referenciando o ConfigMap corretamente. Certifique-se de que o nome do ConfigMap no envFrom corresponda ao nome definido no ConfigMap.

    Exemplo:

    envFrom:
    - configMapRef:
        name: dbconfigmap
    
  3. Problema com MySQL Entrypoint: O erro no log indica um problema com a senha. Confira a documentação do MySQL Docker Hub para saber como configurar as senhas corretamente. Certifique-se de fornecer uma das opções necessárias no ConfigMap.

    Exemplo:

    MYSQL_ROOT_PASSWORD: q1w2e3r4
    MYSQL_DATABASE: empresa
    MYSQL_PASSWORD: q1w2e3r4
    

    Além disso, no seu Pod, remova a variável de ambiente redundante para a senha do MySQL, já que você está usando envFrom.

  4. Verificando o Log do Pod: Depois de fazer essas atualizações, aplique novamente seu Pod e verifique os logs para garantir que o MySQL está iniciando corretamente.

    kubectl apply -f seu-pod.yaml
    kubectl logs db-noticias
    

Essas são as principais etapas para resolver o problema. Siga cada uma e ajuste conforme necessário.

Abs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software