Volume olarak bağlama
- Docker & Kubernetes kursu
- Orta seviye
- Ders 46/82
- 4 dk
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: trueVolume 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.confitems 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
# buraya yazÖrnek çözüm
spec:
volumes:
- name: ayar
configMap:
name: nginx-ayar
containers:
- name: nginx
image: nginx:1.27
volumeMounts:
- name: ayar
mountPath: /etc/nginx/conf.d
readOnly: trueBeklenen çı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.
- name: ayar
mountPath: /etc/nginx/nginx.conf
____: nginx.conf
- 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 |