Sobes.tech
Junior

Mis on ConfigMap Kuberneteses?

sobes.tech AI

Vastus AI-lt

ConfigMap on Kubernetes API objekt, mida kasutatakse mitte-konfidentsiaalsete andmete salvestamiseks võtme-väärtuse paaridena. See võimaldab eraldada rakenduse konfiguratsiooni konteineri pildi seest, muutes rakendused liikuvamaks ja lihtsustades konfiguratsiooni haldamist.

ConfigMap andmeid saab kasutada järgmiselt:

  • konteineri keskkonnamuutujates.
  • käsurea argumentidena konteinerile.
  • failidena, mis on montitud Pod-i.

Näide, kuidas luua ConfigMap failist:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config
data:
  my-config-file.properties: |
    database.url=jdbc:mysql://localhost:3306/mydatabase
    database.username=mydbuser
    database.password=secret

ConfigMap kasutamine Pod-is keskkonnamuutujate kaudu:

apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
spec:
  containers:
  - name: my-app
    image: my-app-image
    env:
    - name: DATABASE_URL
      valueFrom:
        configMapKeyRef:
          name: my-config
          key: database.url
    - name: DATABASE_USERNAME
      valueFrom:
        configMapKeyRef:
          name: my-config
          key: database.username

ConfigMap kasutamine failina montimise kaudu:

apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
spec:
  containers:
  - name: my-app
    image: my-app-image
    volumeMounts:
    - name: config-volume
      mountPath: /etc/config
  volumes:
  - name: config-volume
    configMap:
      name: my-config

Peamised omadused:

  • kasutatakse mitte-konfidentsiaalsete andmete jaoks. Konfidentsiaalsete andmete jaoks kasutage Secrets.
  • võimaldab dünaamiliselt uuendada konfiguratsiooni ilma pildi uuesti loomata.
  • andmete suurus on piiratud (tavaliselt kuni 1MB).
  • mõned muudatused ConfigMap-is võivad nõuda Pod-i taaskäivitamist nende rakendamiseks (keskkonnamuutujad nõuavad taaskäivitust, montimine failina võib olla dünaamiline).