رودابه برای دیپلوی وبسرور خود، یک Helm Chart نوشته است که یک deployment با ایمیج Nginx ایجاد میکند. در Helm Chart مورد نظر برای دسترسی به وب سرور از Ingress استفاده شده است.
برای دانلود پروژه اولیه روی این لینک کلیک کنید. ساختار پروژه اولیه به این صورت است:
رودابه در ابتدا اقدام به نصب وبسرور با کمک اجرای دستور زیر میکند و وبسرور او با موفقیت نصب میشود.
دقت داشته باشید رودابه برای دسترسی به وبسرور با آدرس chart1-example.local
، در Helm Chart خود Ingress تعریف کرده است. حال او با دو مشکل مواجه است که در ادامه به شرح دقیقتر هرکدام میپردازیم.
رودابه با وارد کردن آدرس chart1-example.local
در مرورگر خود وارد با خطای 503 مواجه میشود. به او کمک کنید تا این مشکل را حل کند.
رودابه بعد از برطرف کردن خطای 503 حال نیازمندی تازهای از سمت تیم SEO به سوی او آمده تا تمامی کاراکترهای بزرگ در URL را به کاراکترهای کوچک تبدیل کند. برای حل این نیازمندی تابعی با زبان Lua بنویسید که تمامی کاراکترهای بزرگ در URL را به کاراکترهای کوچک تبدیل کند.
برای مثال اگر URL ورودی مانند زیر باشد:
تابع شما باید URL زیر را برگرداند:
تابع نوشته شده را در فایل lower.lua
در بلوک set_by_lua_block
قرار دهید.
فایل lower.lua
را در مسیر /template/ingress.yaml
در annotation زیر import کنید.
جهت استفاده از kubernetes روی سیستم خود میتوانید از Minikube استفاده نمایید.
برای نصب Ingress بر روی Minikube روی سیستم خود می توانید از دستور زیر استفاده نمایید.
جهت باز نمودن آدرس chart-example.local
نیاز به تعریف رکورد DNS در سیستم شما می باشد. رکورد مورد نظر می بایست به IP آدرس کلاستر کوبر اشاره کند
جهت دریافت Ingress IP برای تعریف رکورد DNS میتوانید از دستور زیر استفاده نمایید.
تغییرات مورد نظر برای مشکل اوّل را بر روی Helm Chart مربوطه در فایل /template/answer.yaml
اعمال کنید.
تابع Lua نوشته شده برای مشکل دوّم را در فایل lower.lua
قرار دهید.
در نهایت پوشه helm-pg
را zip کرده و ارسال کنید. توجه کنید که پس از extract کردن فایل zip شما، باید فایل lower.lua
را ببینیم.