ابتدا فایل کانفیگ را دانلود کنید. سپس لازم است در این فایل <bepa-token>
را با توکن بپای خود جایگزین کنید.
برای دریافت توکن بپا:
۱- وارد بخش توکنها در پروفایل کاربری خود در پنل اوشن شوید.
۲- در بخش “توکنهای کاربر” روی دکمه “افزودن توکن کاربر” کلیک کنید. سپس یک نام دلخواه برای توکن انتخاب نموده و توکن جدید را اضافه کنید.
۳- در نهایت توکن ساخته شده را کپی کنید. دقت کنید که این توکن در آینده به شما نشان داده نمیشود، پس آن را در یک محل امن ذخیره کنید. توجه کنید که دارنده این توکن میتواند از طرف شما تغییراتی را در تنظیمات محصولات ایجاد کند، بنابراین آن را در اختیار دیگران قرار ندهید.
با دستورات زیر فایل کانفیگ دانلود شده حاوی توکن بپا را به مسیر پیش فرض منتقل کنید.
mkdir -p $HOME/.kube
mv ~/kubeconfig $HOME/.kube/config
در ابتدا برای دیدن همه CDNهای خود از دستور زیر استفاده کنید. عبارت <your-namespace>
را با نام فضای کاربری خود جایگزین کنید. (این عبارت در ستون نام مشخص شده و با شناسه متفاوت است)
kubectl --context sotoon --namespace <your-namespace> get cdns
در صورتی که kubectl روی سیستم شما نصب نیست لازم است پیش از ادامه از نصب آن مطمئن شوید. ابزار kubectl را میتوانید برای سیستم عاملهای مختلف از صفحه رسمی آن دانلود و نصب کنید.
برای دیدن جزئیات و تنظیمات یک CDN خاص از دستور زیر استفاده کنید. (به جای <Name>
نام CDN مد نظر را قرار دهید).
kubectl --context sotoon --namespace <your-namespace> get cdns/<Name> -o yaml
خروجی این دستور کانفیگهای فعلی CDN اشاره شده شما را نشان میدهد. شما میتوانید با دستور زیر این کانفیگ را ویرایش کنید: (به جای <Name>
نام CDN مورد نظر را قرار دهید)
kubectl --context sotoon --namespace <your-namespace> edit cdns/<Name>
کانفیگ دریافت شده به صورت پیشفرض در vim باز میشود در صورتی که تمایل دارید با ادیتور سادهتری کار کنید قبل از این مرحله دستور export EDITOR=nano
را وارد کنید تا ادیتور nano به صورت پیش فرض فعال شود.
Value | Type | Spec |
---|---|---|
RFC 1123 | string | canonicalHostname |
RFC 1123 | string | hostname |
array of objects | upstreams | |
array of locations | locations | |
object | tls | |
object | secureLink | |
array of objects | customPages | |
object | firewall |
مقدار defaultHostname
بعد از ساختن CDN تعریف میشود که به صورت "*.cdn.cafebazaar.cloud"
است تا بتوانید از امکانات CDN بدون نیاز به داشتن دامنه خود استفاده کنید.
مدیریت خودکار تنظیمات از طریق API
ممکن است شما نیاز داشته باشید تا تنظیمات CDN خود را نه به صورت دستی، بلکه به شکل خودکار و از طریق کد مدیریت کنید. یک نمونه رایج، افزودن داینامیک آدرسهای IP به لیست سیاه فایروال برای مسدودسازی حملات DDoS به صورت خودکار است.
ابزار kubectl
که در این راهنما از آن استفاده شده است، در واقع یک کلاینت قدرتمند برای API سرور کوبرنتیز است. این API کاملاً بر اساس اصول REST طراحی شده و تمام عملیاتی که شما با kubectl
انجام میدهید، در نهایت به یک درخواست RESTful API تبدیل میشود. بنابراین، شما هماکنون نیز در حال استفاده از یک REST API هستید و میتوانید تمام تنظیمات، از جمله قوانین فایروال را به صورت برنامهریزی شده (programmatically) تغییر دهید.
یک راهکار عملی برای افزودن داینامیک IP به فایروال
اگر هدف شما مدیریت خودکار یک لیست IP برای فایروال است، میتوانید از راهکار زیر استفاده کنید:
۱- برای شروع، پیشنهاد میکنیم ابتدا یک قانون فایروال از طریق پنل کاربری اوشن بسازید و حداقل یک آدرس IP نمونه را در لیست سیاه آن قرار دهید. ۲- سپس با استفاده از دستور kubectl get cdns/<Name> -o yaml
، ساختار دقیق بخش فایروال (firewall
) و لیست IPها را در خروجی مشاهده کنید. ۳- اکنون، سرویس یا اسکریپت شما میتواند به صورت داینامیک این ساختار YAML (یا JSON) را خوانده، لیست IPها را در آن تغییر دهد (IP جدیدی اضافه یا حذف کند) و در نهایت فایل کانفیگ بهروز شده را با دستوری مانند kubectl apply -f <your-updated-config.yaml>
بر روی CDN خود اعمال نماید.