Junior
Šta je ConfigMap u Kubernetesu?
sobes.tech АИ
Одговор од АИ
ConfigMap je objekat API koji se koristi za skladištenje nedavnih podataka u parovima ključ-vrednost u Kubernetes-u. Omogućava odvajanje konfiguracije aplikacije od njenog kontejnerskog slike, čineći aplikacije prenosivijim i pojednostavljujući upravljanje konfiguracijom.
Podaci u ConfigMap-u mogu se koristiti na sledeće načine:
- Kao promenljive okruženja u kontejneru.
- Kao argumenti komandne linije za kontejner.
- Kao fajlovi u volumenu montiranom u Pod.
Primer kreiranja ConfigMap-a iz fajla:
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
Korišćenje ConfigMap-a u Pod-u putem promenljivih okruženja:
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
Korišćenje ConfigMap-a u Pod-u montiranjem kao fajl:
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
Ključne osobine:
- Koristi se za nedavane podatke. Za poverljive podatke koriste se Secrets.
- Omogućava dinamičko ažuriranje konfiguracije bez ponovne izgradnje slike.
- Podaci u ConfigMap-u su ograničeni u veličini (podrazumevano 1 MB).
- Neke promene u ConfigMap-u mogu zahtevati restartovanje Pod-a da bi stupile na snagu, u zavisnosti od načina korišćenja (promenljive okruženja zahtevaju restart, montiranje kao fajl može biti dinamično).