تعلّمنا مفهوم ConfigMaps و Secrets؛ سنطبّقه الآن لحقن الإعدادات في تطبيق كمتغيّرات بيئة. درس عملي.
⚠️ الأوامر تمثيلية؛ شغّلها على عنقودك للتأكّد.
الخطوة 1: أنشئ ConfigMap
يمكن الإنشاء من سطر الأوامر:
kubectl create configmap app-config \
--from-literal=APP_MODE=production \
--from-literal=LOG_LEVEL=info
أو عبر ملفّ:
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_MODE: "production"
LOG_LEVEL: "info"
الخطوة 2: مرّره كمتغيّرات بيئة
استخدم envFrom لحقن كل مفاتيح الـ ConfigMap كمتغيّرات بيئة في الحاوية:
apiVersion: v1
kind: Pod
metadata:
name: app
spec:
containers:
- name: app
image: nginx:1.27
envFrom:
- configMapRef:
name: app-config
الآن يرى التطبيق APP_MODE وLOG_LEVEL كمتغيّري بيئة، دون تضمينهما في الصورة.
الخطوة 3: تحقّق
kubectl exec app -- printenv | grep -E "APP_MODE|LOG_LEVEL"
يجب أن ترى القيمتين. بهذا فصلت الإعداد عن الكود تمامًا.
نصيحة
لحقن مفتاح واحد بدل كل المفاتيح، استخدم valueFrom.configMapKeyRef بدل envFrom. وللبيانات الحسّاسة، استخدم Secret لا ConfigMap.
الخطوات التالية
راجع مفهوم ConfigMaps و Secrets، وطبّق نشرًا كاملًا في نشر أوّل تطبيق.