Sobes.tech
Junior

რა არის ConfigMap Kubernetes-ში?

sobes.tech AI

პასუხი AI-სგან

ConfigMap — ეს არის API ობიექტი, რომელიც გამოიყენება კონფიდენციალული olmayan მონაცემების შენახვაში key-value წყვილებში Kubernetes-ში. იგი საშუალებას აძლევს განყო აპლიკაციის კონფიგურაცია კონტეინერის იმიჯიდან, რაც უფრო გადასატანი და მარტივს ხდის კონფიგურაციის მართვას.

Data-ები ConfigMap-ში შეიძლება გამოყენებულ იქნას შემდეგი გზებით:

  • კონტეინერის გარემოს ცვლადებში.
  • კონტეინერის ბრძანების ხაზზე არგუმენტად.
  • ფაილების სახით, რომლებიც მონტაჟებულია Pod-ში:

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.
  • საშუალებას აძლევს დინამიურად განაახლოთ კონფიგურაცია, გარეშე ახალი სურათის შექმნის.
  • მონაცემების ზომა შეზღუდულია (ჩამონათვალში 1 მბ-მდე).
  • ზოგი ცვლილება ConfigMap-ში შეიძლება საჭირო გახადოს Pod-ის გადატვირთვა მათ გამოყენებისთვის (გარემოს ცვლადები საჭიროებენ გადატვირთვას, მონტაჟი ფაილად შეიძლება იყოს დინამიური).