Yapılandırma için ConfigMaps
ConfigMaps kullanarak uygulama yapılandırmasını kapsayıcı imajlarından ayırın.
Yapılandırma için ConfigMaps, CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.
ConfigMaps'e Giriş
Uygulamaların genellikle veritabanı bağlantı dizeleri veya özellik bayrakları gibi yapılandırma verilerine ihtiyacı vardır.
Bu bilgileri doğrudan kapsayıcı görüntülerin içine sabit olarak yerleştirmek, görüntüleri katı ve güncellenmesi zor hâle getirebilir.
ConfigMaps, uygulamanızın hassas olmayan yapılandırmasını dışsallaştırıp merkezileştirerek görüntülerinizi esnek tutmanızı sağlar.
ConfigMap Nedir
ConfigMap, hassas olmayan verileri anahtar-değer çiftleri olarak depolamak için kullanılan bir Kubernetes nesnesidir.
Bunu, uygulama ayarlarınızın Pod'larınız tarafından erişilebilen merkezi bir konumu olarak düşünebilirsiniz.
- Yapılandırmayı ayırma: Yapılandırmayı uygulama kodunuzdan ayırır.
- Esneklik: Görüntüleri yeniden oluşturmadan ayarları kolayca değiştirmenizi sağlar.
- Taşınabilirlik: Uygulamanızı farklı yapılandırmalara sahip ortamlar arasında taşımanızı sağlar.
ConfigMaps Oluşturma: Buyruklu
kubectl create configmap komutunu kullanarak doğrudan komut satırından hızlıca bir ConfigMap oluşturabilirsiniz.
Bu yöntem basit, tek seferlik yapılandırmalar veya hızlı testler için idealdir.
Günlük düzeyi ayarı içeren my-app-config adlı bir ConfigMap oluşturalım.
kubectl create configmap my-app-config \
--from-literal=log_level=INFOConfigMap'inizi İnceleme
Bir ConfigMap oluşturduktan sonra ayrıntılarını görüntüleyebilir ve içeriğini doğrulayabilirsiniz.
İçinde depolanan veriler de dâhil olmak üzere tam YAML tanımını görmek için -o yaml bayrağıyla birlikte kubectl get komutunu kullanın.
kubectl get configmap my-app-config -o yamlBildirimsel ConfigMap (YAML)
Üretim ve sürüm denetimi için ConfigMaps'i YAML bildirimlerini kullanarak tanımlamak standart uygulamadır.
Bu yaklaşım, yapılandırmalarınızı yeniden üretilebilir ve uygulama kodunuzla birlikte kolayca yönetilebilir hâle getirir.
Burada bir oyunun yapılandırmasına ilişkin YAML örneği yer alıyor:
apiVersion: v1
kind: ConfigMap
metadata:
name: game-config
data:
game.properties: |
level=easy
player_limit=10
ui.properties: |
theme=dark
language=enYAML'dan ConfigMap Uygulama
game-config ConfigMap'ini oluşturmak için önceki sahnedeki YAML içeriğini bir dosyaya (ör. game-config.yaml) kaydedin.
Ardından bunu kümenize dağıtmak için kubectl apply -f komutunu kullanın.
# Save the YAML to game-config.yaml
kubectl apply -f game-config.yaml
kubectl get configmap game-config -o yamlOrtam Değişkenleri Olarak ConfigMaps
Bir Pod'un ConfigMap verilerini kullanmasının yaygın yollarından biri, bu verileri ortam değişkenleri olarak eklemektir.
Açığa çıkarılacak tek tek anahtarları belirtebilir veya bir ConfigMap'teki tüm anahtar-değer çiftlerini açığa çıkarmak için envFrom kullanabilirsiniz.
Bu yöntem basit uygulama ayarları için idealdir.
apiVersion: v1
kind: Pod
metadata:
name: my-env-pod
spec:
containers:
- name: my-container
image: busybox
command: ["sh", "-c", "echo Log Level: $LOG_LEVEL && sleep 3600"]
env:
- name: LOG_LEVEL
valueFrom:
configMapKeyRef:
name: my-app-config
key: log_levelGösterim: Ortam Yapılandırmasına Sahip Pod
LOG_LEVEL ortam değişkeninin kullanımını görmek için Pod tanımını çalıştıralım.
Pod YAML'ını env-pod.yaml dosyasına kaydedin, uygulayın ve ardından Pod'un günlüklerini kontrol edin.
# Save Pod YAML to env-pod.yaml
kubectl apply -f env-pod.yaml
kubectl logs my-env-pod
# Clean up
kubeclt delete pod my-env-podBağlanmış Birimler Olarak ConfigMaps
Yapılandırma dosyaları bekleyen uygulamalar için (ör. nginx.conf, application.properties) bir ConfigMap'i birim olarak bağlayabilirsiniz.
ConfigMap'teki her anahtar-değer çifti, kapsayıcı içinde belirtilen bağlama yolunda bir dosyaya dönüşür.
apiVersion: v1
kind: Pod
metadata:
name: my-volume-pod
spec:
containers:
- name: my-container
image: busybox
command: ["sh", "-c", "echo 'Contents of game.properties:' && cat /etc/config/game.properties && sleep 3600"]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: game-configGösterim: Bağlanmış Yapılandırmaya Sahip Pod
Şimdi game-config ConfigMap'imizi birim olarak bağlayan bir Pod dağıtalım.
Pod YAML'ını volume-pod.yaml dosyasına kaydedin, uygulayın ve bağlanan dosyanın içeriğini görmek için günlükleri inceleyin.
# Save Pod YAML to volume-pod.yaml
kubectl apply -f volume-pod.yaml
kubectl logs my-volume-pod
# Clean up
kubeclt delete pod my-volume-podHızlı Kontrol: ConfigMaps
Kubernetes ConfigMaps hakkında aşağıdaki ifadelerden hangisi doğrudur?
Özet: ConfigMaps
Harika iş çıkardınız! ConfigMaps'in Kubernetes'te yapılandırmayı yönetmeye nasıl yardımcı olduğunu öğrendiniz:
- Amaç: Hassas olmayan yapılandırma verilerini anahtar-değer çiftleri olarak depolamak.
- Oluşturma:
kubectl createile buyruklu veya YAML ile bildirimsel olarak. - Kullanım: Pod'lar içinde ortam değişkenleri veya bağlanmış dosyalar olarak.
- Fayda: Yapılandırmayı uygulama kodundan ayırarak esnekliği artırır.
Sırada, Kubernetes Secrets kullanarak hassas bilgileri güvenli biçimde nasıl yöneteceğinizi inceleyeceğiz!
Sıkça Sorulan Sorular
“Yapılandırma için ConfigMaps” dersi ücretsiz mi?
Evet — “Yapılandırma için ConfigMaps” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.
“Yapılandırma için ConfigMaps” dersinde ne öğreneceğim?
ConfigMaps kullanarak uygulama yapılandırmasını kapsayıcı imajlarından ayırın. Kubernetes Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Yapılandırma için ConfigMaps” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kubernetes Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Yapılandırma için ConfigMaps
- Hassas Veriler için Gizli Bilgiler
- Kalıcı Birimler ve Talepler
- StorageClasses ve Dinamik Sağlama