La configurazione delle applicazioni è, di norma, gestita con dei file di configurazione che i programmi leggono in fase di boot o runtime.
Come si gestisce questo tipico scenario in ambito Kubernetes? In questo video spiego brevemente cosa sono le ConfigMap e come utilizzarle con un piccolo esempio.
In questo esempio la ConfigMap con nome myconfigini è creata a partire da un file di testo con lo switch –from-file.
kubectl create configmap myconfigini --from-file=.\tmweb\config\MyIniConfig.ini
Qui di seguito riporto il manifest YAML con il deployment con ConfigMap mostrato nel video. La configMap viene usata facendo il mount di un volume. Tale volume viene definito nella sezione spec del template e referenziato nella sezione container colla sintassi volumeMount.
apiVersion: apps/v1 kind: Deployment metadata: name: tm-tmweb labels: app: tmweb chart: tmweb-0.1.0 draft: draft-app release: tm-tmweb heritage: Helm spec: revisionHistoryLimit: 0 replicas: 1 selector: matchLabels: app: tmweb release: tm-tmweb template: metadata: labels: app: tmweb draft: draft-app release: tm-tmweb annotations: buildID: "" spec: volumes: - name: config-volume configMap: name: myconfigini containers: - name: tmweb image: "tmweb:mini" imagePullPolicy: IfNotPresent volumeMounts: - name: config-volume mountPath: /app/config ports: - name: http containerPort: 80 protocol: TCP resources: {}