⚙️ Configuração (ConfigMap)
Uma aplicação costuma precisar de ajustes: idioma, modo de execução, endereço de outro serviço. O ConfigMap guarda essas configurações fora da aplicação, como um "arquivo de configurações" separado do programa. Assim você muda um valor sem refazer a imagem do container.
ConfigMap é para dados não sensíveis. Para senhas, tokens e chaves, use Secrets.
ConfigMaps são criados com o kubectl. O Painel Nuvion não tem uma tela para esse recurso.
🚀 Antes de começar
- Ter o acesso ao cluster configurado (veja Acesso ao Cluster).
🚀 1. Criar um ConfigMap
kubectl create configmap app-config --from-literal=APP_MODE=producao --from-literal=APP_IDIOMA=pt-BR
Saída esperada: configmap/app-config created
🚀 2. Verificar o ConfigMap
kubectl get configmap app-config
kubectl describe configmap app-config
O describe mostra as chaves (APP_MODE, APP_IDIOMA) e seus valores.
🚀 3. Usar o ConfigMap como variáveis de ambiente
Crie o arquivo pod-config.yaml:
apiVersion: v1
kind: Pod
metadata:
name: pod-config
spec:
containers:
- name: app
image: busybox
command: ["sh", "-c", "echo Modo: $APP_MODE; echo Idioma: $APP_IDIOMA; sleep 3600"]
envFrom:
- configMapRef:
name: app-config
Aplique e veja o resultado:
kubectl apply -f pod-config.yaml
kubectl logs pod-config
Saída esperada:
Modo: producao
Idioma: pt-BR
🚀 4. Usar o ConfigMap como arquivo
Algumas aplicações leem um arquivo de configuração. Crie um arquivo local
chamado app.properties com este conteúdo:
cor=azul
logo=ativo
Crie o ConfigMap a partir do arquivo:
kubectl create configmap app-file --from-file=app.properties
Crie o arquivo pod-config-arquivo.yaml, que monta o ConfigMap na pasta /config:
apiVersion: v1
kind: Pod
metadata:
name: pod-config-arquivo
spec:
containers:
- name: app
image: busybox
command: ["sh", "-c", "sleep 3600"]
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
configMap:
name: app-file
kubectl apply -f pod-config-arquivo.yaml
kubectl exec pod-config-arquivo -- cat /config/app.properties
🚀 5. Alterar um valor
kubectl edit configmap app-config
Altere o valor desejado, salve e feche o editor.
As variáveis de ambiente só mudam quando o pod é recriado. Já os arquivos montados são atualizados sozinhos, com alguns segundos de atraso.
✅ Como saber se deu certo
Os logs do passo 3 mostram os valores que você definiu, e o cat do passo 4
mostra o conteúdo do arquivo.
❗ Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
Pod com CreateContainerConfigError | O ConfigMap citado não existe | Confira o nome com kubectl get configmap |
| Valor antigo no pod | Variável de ambiente não recarrega | Exclua e recrie o pod |
configmap already exists | Nome já usado | Use outro nome ou exclua o existente |
🧹 Limpeza
kubectl delete pod pod-config pod-config-arquivo
kubectl delete configmap app-config app-file
➡️ Próximo passo: Secrets
🧠 Dúvidas?
Fale com nosso time de suporte técnico da SaveinCloud!