Junior
Ինչ է ConfigMap-ը Kubernetes-ում?
sobes.tech AI
Պատասխան AI-ից
ConfigMap-ը API օբյեկտ է, որը օգտագործվում է ոչ-գաղտնի տվյալների պահեստավորման համար key-value զույգերով Kubernetes-ում: Այն թույլ է տալիս առանձնացնել հավելվածի կոնֆիգուրացիան կոնտեյների պատկերից, ինչը դարձնում է հավելվածները ավելի փոխանցելի և հեշտացնում կոնֆիգուրացիայի կառավարումը.
Data-ները ConfigMap-ում կարող են օգտագործվել հետևյալ կերպ.
- Կոնտեյների շրջակա միջավայրի փոփոխականներում.
- Կոնտեյերի հրամանների տողում:
- Ոտքի վրա մոնտաժվող ֆայլերի տեսքով:
ConfigMap-ի ստեղծման օրինակ՝ ֆայլից:
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-ի օգտագործում Pod-ում շրջակա միջավայրի փոփոխականների միջոցով:
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-ի օգտագործում Pod-ում ֆայլի մոնտաժման միջոցով:
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
Հիմնական առանձնահատկությունները՝
- Օգտագործվում է ոչ-գաղտնի տվյալների համար: Գաղտնի տվյալների համար օգտագործեք Secrets:
- Դինամիկ կերպով թարմացնում է կոնֆիգուրացիան՝ առանց պատկերի վերանախագծման:
- Data-ների չափը սահմանափակ է (հիմնականում 1 ՄԲ):
- Կան որոշ փոփոխություններ ConfigMap-ում, որոնք կարող են պահանջել Pod-ի վերագործարկում՝ դրանց կիրառման համար (շրջակա միջավայրի փոփոխականները պահանջում են վերագործարկում, ֆայլի մոնտաժումը՝ կարող է լինել դինամիկ):