CodeBlanks Logo Icon CodeBlanks

Volume olarak bağlama

ConfigMap'i volume olarak bağlamayı öğrenirsin.

Volume olarak bağlama

ConfigMap bir volume olarak bağlanınca her anahtar, bağlama dizininde bir dosya olur. Ayar dosyası bekleyen uygulamalar (nginx, Prometheus) için idealdir:

    spec:
      volumes:
        - name: ayar
          configMap:
            name: nginx-ayar
      containers:
        - name: nginx
          image: nginx:1.27
          volumeMounts:
            - name: ayar
              mountPath: /etc/nginx/conf.d
              readOnly: true

Volume olarak bağlanan ConfigMap güncellenince dosyalar birkaç dakika içinde kendiliğinden yenilenir (ortam değişkenlerinden farklı olarak).

Tek dosya bağlamak

Bir dizine bağlama, oradaki mevcut dosyaları gizler. Yalnızca tek bir dosyayı yerleştirmek için subPath kullanılır; ancak subPath ile bağlanan dosya ConfigMap güncellenince yenilenmez:

          volumeMounts:
            - name: ayar
              mountPath: /etc/nginx/nginx.conf
              subPath: nginx.conf

items ile ConfigMap'in yalnızca belirli anahtarları, istenen dosya adlarıyla bağlanabilir.

Uygulama Ayar dosyasını bağla

Bir pod'un spec bölümünü yaz (spec: ile başlayarak): volumes altında nginx-ayar ConfigMap'inden ayar volume'ü; container adı nginx, image nginx:1.27; ayar'ı /etc/nginx/conf.d'ye readOnly: true ile bağla.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
spec:
  volumes:
    - name: ayar
      configMap:
        name: nginx-ayar
  containers:
    - name: nginx
      image: nginx:1.27
      volumeMounts:
        - name: ayar
          mountPath: /etc/nginx/conf.d
          readOnly: true

Beklenen çıktı

pod/web configured
$ kubectl exec web -- ls /etc/nginx/conf.d
default.conf

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 nginx-ayar ConfigMap'inde default.conf anahtarı varsa container'da hangi dosya oluşur?

  • /etc/nginx/conf.d/default.conf Doğru cevap
  • /etc/nginx/nginx-ayar
  • /configmap/default.conf
  • Hiçbiri

Açıklama: Anahtar dosya adı, değer içerik olur.

2 Dizine değil tek dosyaya bağla.

Soru
            - name: ayar
              mountPath: /etc/nginx/nginx.conf
              ____: nginx.conf
Cevap
            - name: ayar
              mountPath: /etc/nginx/nginx.conf
              subPath: nginx.conf

Açıklama: subPath volume içindeki tek bir yolu seçer.

3 Eşleştir.

Kavram Anlamı
volumes.configMap ConfigMap kaynağı
volumeMounts Bağlama yeri
subPath Tek dosya, yenilenmez
readOnly: true Salt okunur

Orta seviye bölümündeki tüm dersler