🔹 مشکل احتمالی:
در خروجی شما، Replicas: 1 desired | 1 total | 0 available | 1 unavailable نشان میدهد که پاد هنوز در دسترس نیست.
علت این مشکل ممکن است یکی از موارد زیر باشد:
trafex/php-nginx:3.0.0 مشکل داشته باشد.Command: → apk add php-pdo php-pdo_mysql php-pdo_sqlite در sh -c ممکن است درست اجرا نشود.HostPath → مسیر /var/www/html/trafex-nginx روی نود ممکن است وجود نداشته باشد.Pending یا CrashLoopBackOff گیر کند.kubectl get pods
🔹 اگر پاد در حالت CrashLoopBackOff است، لاگهای آن را بررسی کنید:
kubectl logs <POD_NAME>
kubectl describe pod <POD_NAME>
🔹 اگر مشکل از ولوم باشد، در بخش Events: پیغامهای MountVolume.SetUp failed دیده میشود.
🔹 اگر مشکل از کانفیگ یا تصویر باشد، Back-off restarting failed container نمایش داده میشود.
HostPath🔹 مطمئن شوید مسیر /var/www/html/trafex-nginx روی نود وجود دارد:
ls -ld /var/www/html/trafex-nginx
🔹 اگر وجود ندارد، ایجاد کنید:
mkdir -p /var/www/html/trafex-nginx && chmod 777 /var/www/html/trafex-nginx
Command: از Deploymentبه جای اجرای apk add در Command:, میتوانید یک initContainer اضافه کنید یا در Dockerfile آن را نصب کنید.
🔹 بررسی وضعیت نود:
kubectl describe node
🔹 اگر نود NotReady است، با بررسی کنید:
kubectl get nodes
🔹 اگر مشکل از کمبود منابع است، مقدار resource requests را کاهش دهید یا یک نود جدید اضافه کنید.
🔹 اجرای یک پاد موقتی در همان نود:
kubectl run debug --rm -it --image=trafex/php-nginx:3.0.0 -- bash
🔹 اگر پاد اجرا نشد، مشکل از تصویر است. در این صورت، سعی کنید نسخهی دیگری از php-nginx را تست کنید.
🔹 ابتدا وضعیت پاد و لاگهای آن را بررسی کنید.
🔹 سپس ولوم HostPath را چک کنید که روی نود وجود داشته باشد.
🔹 اگر مشکل حل نشد، Command: را حذف کنید و از initContainer برای نصب پکیجها استفاده کنید.