Sari la conținutul principal

Configurarea aplicației

Configurația unei aplicații nu ar trebui inclusă direct în imaginea containerului. Kubernetes oferă două obiecte principale:

  • ConfigMap, pentru configurație nesensibilă
  • Secret, pentru parole, token-uri și alte valori sensibile.

În acest laborator aplicația nu folosește încă o bază de date, deci avem nevoie doar de un ConfigMap.

Fișierul k8s/base/10-configmap.yaml conține:

apiVersion: v1
kind: ConfigMap
metadata:
name: ticketing-api-config
namespace: cc-lab2
data:
PORT: "8080"
USE_POSTGRES: "false"

Aplicați configurația și inspectați obiectul creat:

kubectl apply -f k8s/base/10-configmap.yaml
kubectl get configmap -n cc-lab2
kubectl describe configmap ticketing-api-config -n cc-lab2

Deployment-ul consumă toate valorile prin envFrom:

envFrom:
- configMapRef:
name: ticketing-api-config

Variabila APP_VERSION este definită direct în template-ul Pod-ului. Modificarea ei schimbă template-ul și declanșează un rollout, lucru pe care îl vom folosi mai târziu.

atenție

Un Secret Kubernetes nu este criptat automat doar pentru că este reprezentat în Base64. În Laboratorul 3 vom discuta modul corect de furnizare a credențialelor bazei de date.