Sobes.tech
Junior

Kubernetesтеги ConfigMap деген эмне?

sobes.tech AI

AIден жооп

ConfigMap — бул API объектис, Kubernetes ичинде ачкыч-маалымат жуптары түрүндө конфигурациялык маалыматтарды сактоо үчүн колдонулат. Ал колдонмонун конфигурациясын контейнер сүрөтүнөн бөлүп, колдонмолорду көбүрөөк которулушу жана конфигурацияны башкарууну жеңилдетет.

ConfigMap ичиндеги Data төмөнкү жолдор менен колдонулушу мүмкүн:

  • Контейнердин айлануу айнымалыларында.
  • Контейнер үчүн командалык саптарда аргумент катары.
  • 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 кайра иштетүүнү талап кылышы мүмкүн, колдонуу ыкмасына жараша (айлануу айнымалылары кайра иштетүүнү талап кылат, монтаждоо файл катары болсо, ал динамикалык болушу мүмкүн).