Junior
Co je to ConfigMap v Kubernetes?
sobes.tech AI
Odpověď od AI
ConfigMap je objekt API, který se používá k ukládání nedůvěrných dat ve formě párů klíč-hodnota v Kubernetes. Umožňuje oddělit konfiguraci aplikace od jejího obrazu kontejneru, což činí aplikace přenosnějšími a zjednodušuje správu konfigurace.
Data v ConfigMap lze použít následujícími způsoby:
- Jako proměnné prostředí v kontejneru.
- Jako argumenty příkazového řádku pro kontejner.
- Jako soubory v volume připojeném k Podu.
Příklad vytvoření ConfigMap ze souboru:
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
Použití ConfigMap v Podu přes proměnné prostředí:
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
Použití ConfigMap v Podu přes připojení jako soubor:
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
Hlavní vlastnosti:
- Používá se pro nedůvěrná data. Pro důvěrná data by měly být použity Secrets.
- Umožňuje dynamicky aktualizovat konfiguraci bez přestavby obrazu.
- Data v ConfigMap jsou omezená velikostí (výchozí 1 MB).
- Některé změny v ConfigMap mohou vyžadovat restart Podu, aby se projevily, v závislosti na způsobu použití (proměnné prostředí vyžadují restart, připojení jako soubor může být dynamické).