🔹 مشکل احتمالی:
در خروجی شما، 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
برای نصب پکیجها استفاده کنید.