Sobes.tech
Junior

Kas ir ConfigMap Kubernetes?

sobes.tech AI

Atbilde no AI

ConfigMap ir objekts, kas tiek Kubernetes, kas tiek glabā neslēptus datus pāros atslēga-vērtība. Tas ļauj atdalīt lietojumprogrammas konfigurāciju no konteinerattēla, padarot lietojumprogrammas pārnesamākas un vienkāršāk pārvaldāmas.

Data ConfigMap var tikt izmantoti šādi:

  • kā vides mainīgos konteinerī.
  • kā komandrindas argumentus konteinerī.
  • kā failus, kas ir montēti Pod iekšienē.

Piemērs, kā izveidot ConfigMap no faila:

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 izmantošana Pod ar vides mainīgo palīdzību:

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 izmantošana, montējot kā failu:

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

Galvenās iezīmes:

  • tiek izmantots neslēptiem datiem. Slēptiem datiem izmanto Secrets.
  • ļauj dinamisku konfigurācijas atjaunināšanu bez konteineru pārstartēšanas.
  • datu izmērs ir ierobežots (parasti līdz 1MB).
  • dažas izmaiņas ConfigMap var prasīt Pod pārstartēšanu, lai tās stātos spēkā (aplikācijas mainīgie prasa pārstartēšanu, montēšana kā fails var būt dinamiska).