Junior
Kas yra ConfigMap Kubernetes?
sobes.tech AI
Atsakymas iš AI
ConfigMap yra API objektas, naudojamas nekonfidencialiems duomenims saugoti Kubernetes'e kaip raktas-verčio poros. Jis leidžia atskirti programos konfigūraciją nuo konteinerio vaizdo, tai daro programas labiau perkeliamas ir supaprastina konfigūracijos valdymą.
ConfigMap duomenis galima naudoti šiais būdais:
- kaip aplinkos kintamuosius konteineryje.
- kaip komandų eilutės argumentus konteineryje.
- kaip failus, montuojamus į Pod.
Pavyzdys, kaip sukurti ConfigMap iš failo:
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
Naudojimas ConfigMap Pod'e per aplinkos kintamuosius:
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
Naudojimas ConfigMap montuojant kaip failą:
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
Pagrindinės savybės:
- naudojamas nekonfidencialiems duomenims. Konfidencialiems duomenims naudokite Secrets.
- leidžia dinamiškai atnaujinti konfigūraciją be konteinerio perstatymo.
- duomenų dydis yra ribotas (paprastai iki 1 MB).
- kai kurie pakeitimai ConfigMap gali reikalauti Pod perkrovimo jų taikymui (aplinkos kintamieji reikalauja perkrovimo, montavimas kaip failas gali būti dinamiškas).