رفتن به محتوا
مارکت‌پلیس‌های ابری

مارکت‌پلیس‌های ابری

‏Status200 Enterprise را که از AWS Marketplace، Microsoft Marketplace یا Google Cloud Marketplace خریده‌اید، در خوشهٔ Kubernetes خودتان اجرا کنید. مارکت‌پلیس هزینهٔ هر کاربر نصب شما را ساعتی روی صورت‌حساب ابری‌تان می‌آورد، و اشتراک شما پروانهٔ Enterprise Edition است: کلید پروانه‌ای برای فعال کردن در کار نیست.

چگونه کار می‌کند

‏Status200 هر 15 دقیقه کاربرانش را می‌شمارد و هر ساعت را یک بار، با بیشترین تعداد کاربری که در آن ساعت دیده، به مارکت‌پلیسی که Status200 را از آن خریده‌اید گزارش می‌دهد. مارکت‌پلیس آن ساعت را به صورت‌حساب ابری شما می‌افزاید. هر گزارشی که مارکت‌پلیس می‌پذیرد به Status200 هم می‌گوید که اشتراک شما فعال است، و همین پروانهٔ Enterprise Edition را معتبر نگه می‌دارد.

flowchart TB Count["Status200 کاربرانش را<br/>می‌شمارد"] Report["یک گزارش<br/>برای هر ساعت"] Market["مارکت‌پلیس<br/>ابری شما"] Bill["صورت‌حساب ابری شما"] License["نسخهٔ Enterprise Edition<br/>پروانه می‌گیرد"] Count --> Report Report --> Market Market --> Bill Market --> License

از کاربران شما تا صورت‌حساب ابری‌تان

AWSMicrosoftGoogle Cloud
محل اجراAmazon EKSAzure Kubernetes Service (AKS)Google Kubernetes Engine (GKE)
روش نصبHelm، از رجیستری محصولپورتال Azureکنسول Google Cloud
اعتبارنامهٔ گزارش‌دهی Status200نقش IAM حساب سرویس Kubernetes آنهویت مدیریت‌شده‌ای که Azure به نصب می‌دهدراز گزارش‌دهی‌ای که Google Cloud Marketplace برای استقرار می‌سازد
انتشارهای تازهبا Helm ارتقا می‌دهیدنسخه‌های فرعی برایتان نصب می‌شونددستی ارتقا می‌دهید

پیش از شروع

  • یک خوشهٔ Kubernetes روی ابر همان مارکت‌پلیس، با دست‌کم 3 گره که هر کدام 4 vCPU و 16 GiB حافظه دارند، یک StorageClass پیش‌فرض، و پشتیبانی از سرویس‌های LoadBalancer. Status200 خودش PostgreSQL، ClickHouse و Valkey را درون خوشه اجرا می‌کند؛ برای اندازه‌گذاری آن‌ها، تعیین اندازه و برنامه‌ریزی ظرفیت را ببینید.
  • یک نام دامنه برای Status200، مانند status200.example.com، که بتوانید آن را به متعادل‌کنندهٔ بار خوشه اشاره دهید.
  • HTTPS خروجی از خوشه به مارکت‌پلیس، تا Status200 بتواند کاربرانش را گزارش دهد: metering.marketplace.<region>.amazonaws.com و sts.<region>.amazonaws.com در AWS، marketplaceapi.microsoft.com در Azure، و servicecontrol.googleapis.com و oauth2.googleapis.com در Google Cloud.

نصب Status200

AWS Marketplace

در AWS، Status200 کاربرانش را با یک نقش IAM گزارش می‌دهد که EKS به حساب سرویس Kubernetes آن می‌دهد (نقش‌های IAM برای حساب‌های سرویس). AWS Marketplace مصرف را از EKS فقط وقتی می‌پذیرد که به این شکل امضا شده باشد.

  1. در AWS Marketplace مشترک Status200 Enterprise شوید، سپس Continue to Configuration را برگزینید، نسخه را انتخاب کنید و Continue to Launch را برگزینید.
  2. اگر خوشه هنوز ارائه‌دهندهٔ IAM OIDC ندارد، یکی به آن بدهید، و با فرمان‌های زیر حساب سرویس oneuptime را همراه یک نقش IAM بسازید که سیاست AWSMarketplaceMeteringFullAccess را دارد. این فرمان‌ها را به‌جای فرمان eksctl در گام 1 بخش General launch instructions صفحهٔ راه‌اندازی اجرا کنید: آن فرمان نقشی را وصل می‌کند که باید اول خودتان آن را ساخته باشید.
  3. با فرمان‌های گام 2 بخش General launch instructions، Helm را وارد رجیستری محصول کنید و چارت را نصب کنید. در فرمان helm install، مقدار serviceAccount.name را oneuptime، مقدار host را نام دامنهٔ خود، و اگر گواهی‌ای جلوی Status200 هست، مقدار httpProtocol را https بگذارید.
  4. Status200 را باز کنید.
Bash
eksctl utils associate-iam-oidc-provider --cluster <cluster> --approve
eksctl create iamserviceaccount --name oneuptime --namespace oneuptime --cluster <cluster> \
  --attach-policy-arn arn:aws:iam::aws:policy/AWSMarketplaceMeteringFullAccess \
  --approve --override-existing-serviceaccounts

مقدارهای گام 3 را در یک فایل نگه دارید و آن را به هر helm upgrade بدهید:

values.yamlYAML
host: status200.example.com
httpProtocol: https
serviceAccount:
  name: oneuptime

Microsoft Marketplace

در Azure، Status200 یک برنامهٔ Kubernetes است: AKS آن را به‌صورت یک افزونهٔ خوشه نصب می‌کند، و هویت مدیریت‌شده‌ای را به آن می‌دهد که Status200 کاربرانش را با آن گزارش می‌دهد.

  1. در پورتال Azure، صفحهٔ Status200 Enterprise را در Microsoft Marketplace باز کنید، یا خوشهٔ AKS خود را باز کنید و Extensions + applications > Add را برگزینید، سپس طرح را انتخاب کنید و Create را برگزینید.
  2. اشتراک و گروه منابع را انتخاب کنید، و اینکه روی یک خوشهٔ AKS موجود نصب شود یا خوشهٔ تازه‌ای ساخته شود.
  3. در گام Status200، یک نام برای نصب، نام دامنهٔ خود و پروتکل آن را وارد کنید.
  4. Review + create و سپس Create را برگزینید. نصب چند دقیقه طول می‌کشد؛ وقتی Extensions + applications وضعیت تأمین آن را Succeeded نشان دهد، کار تمام شده است.
  5. Status200 را باز کنید.

سنجه‌های سفارشی صورت‌حساب روی خوشه‌های AKS کار می‌کنند، نه روی Kubernetes مجهز به Azure Arc، پس Status200 Enterprise در Microsoft Marketplace فقط روی AKS نصب می‌شود.

Google Cloud Marketplace

در Google Cloud، مارکت‌پلیس یک ابزار استقرار اجرا می‌کند که Status200 را در فضای نامی که انتخاب می‌کنید نصب می‌کند، همراه با یک راز گزارش‌دهی که Status200 کاربرانش را با آن گزارش می‌دهد.

  1. در کنسول Google Cloud، صفحهٔ Status200 Enterprise را در Google Cloud Marketplace باز کنید و Configure را برگزینید.
  2. خوشهٔ GKE و فضای نام را انتخاب کنید، و یک نام برای نصب، نام دامنهٔ خود و پروتکل آن را وارد کنید.
  3. Deploy را برگزینید. استقرار چند دقیقه طول می‌کشد؛ وقتی برنامه زیر Kubernetes Engine > Applications آماده نشان داده شود، کار تمام شده است.
  4. Status200 را باز کنید.

باز کردن Status200

‏Status200 کار را با اجرای مهاجرت‌های پایگاه داده‌اش شروع می‌کند، که روی یک نصب تازه چند دقیقه طول می‌کشد. سپس نام دامنهٔ خود را به متعادل‌کنندهٔ بار آن اشاره دهید:

Bash
kubectl get service --namespace <namespace>

سرویسی که نامش به -nginx ختم می‌شود یک EXTERNAL-IP دارد: برای نام دامنهٔ خود یک رکورد DNS بسازید که به آن اشاره کند. نام دامنه را باز کنید و ثبت‌نام کنید. نخستین حساب یک نصب تازه، مدیر اصلی آن می‌شود و می‌تواند داشبورد مدیریت را در /admin باز کند.

ظرف یک ساعت، Enterprise Edition روی برچسب نسخه نشان داده می‌شود، با پروانه‌ای که از مارکت‌پلیس شما می‌آید. مدیران اصلی برچسب نسخه را در سرصفحهٔ داشبورد مدیریت و در پانویس Dashboard می‌بینند.

صورت‌حساب چگونه کار می‌کند

موردچگونه کار می‌کند
قیمتساعتی USD 0.10 برای هر کاربر، یعنی حدود USD 73 برای هر کاربر در ماه.
چه کسانی شمرده می‌شوندهر کسی که روی این نصب حساب کاربری Status200 دارد. مشترکان صفحهٔ وضعیت و کسانی که وارد یک صفحهٔ وضعیت خصوصی می‌شوند شمرده نمی‌شوند.
چه زمانیStatus200 هر 15 دقیقه کاربرانش را می‌شمارد و هر ساعت را یک بار، با بیشترین تعداد کاربری که در آن ساعت دیده، گزارش می‌دهد. برای ساعتی که Status200 در آن اجرا نمی‌شده، هزینه‌ای حساب نمی‌شود.
کجاروی صورت‌حساب AWS، Azure یا Google Cloud شما، از راه مارکت‌پلیس.
چه چیزی شامل نمی‌شودخود خوشه: ابر شما هزینهٔ گره‌ها، دیسک‌ها و متعادل‌کننده‌های بار آن را مثل همیشه حساب می‌کند.

هزینهٔ هر نصب جداگانه حساب می‌شود، پس نصب staging هم هزینه دارد. برای قیمت سالانه، تخفیف حجمی یا قیمتی ویژهٔ نصب‌های غیرتولیدی، از sales@status200.ru یک پیشنهاد خصوصی بخواهید؛ این پیشنهاد را در مارکت‌پلیس می‌پذیرید.

وقتی گزارشی به خاطر مشکل شبکه یا قطعی مارکت‌پلیس فرستاده نشود، Status200 آن را در اجرای بعدی‌اش دوباره می‌فرستد. هر گزارش کلیدی مخصوص ساعت خودش دارد، پس هزینهٔ هیچ ساعتی دو بار حساب نمی‌شود.

پروانه چگونه کار می‌کند

اشتراک مارکت‌پلیس شما همان پروانهٔ شماست. هر گزارشی که مارکت‌پلیس بپذیرد، همهٔ قابلیت‌های سازمانی را برای همهٔ کاربران تا 72 ساعت بعد زیر پوشش پروانه قرار می‌دهد. کلید پروانه‌ای که از Status200 گرفته‌اید هم روی همان نصب کار می‌کند: نصب با هر کدام از این دو که بهتر باشد اجرا می‌شود.

چه رخ می‌دهدبرچسب نسخه چه نشان می‌دهد
مارکت‌پلیس گزارش‌های ساعتی را می‌پذیردنسخهٔ Enterprise Edition، با پروانه‌ای که از مارکت‌پلیس شما می‌آید.
در 72 ساعت گذشته هیچ گزارشی پذیرفته نشده استEnterprise Edition (Marketplace Reports Failing): همهٔ قابلیت‌های سازمانی در یک دورهٔ مهلت 30 روزه به کار ادامه می‌دهند.
مارکت‌پلیس می‌گوید نصب اشتراک ندارد، یا دورهٔ مهلت تمام می‌شودEnterprise Edition (Marketplace Subscription Ended): قابلیت‌های سازمانی متوقف می‌شوند، همان‌طور که با منقضی شدن پروانه متوقف می‌شوند.

مارکت‌پلیس اشتراکی را که لغو یا تعلیق شده، یا نصبی را که همان نصبی نیست که خریده‌اید، رد می‌کند. پایش، هشدارها، حادثه‌ها، کشیک و صفحه‌های وضعیت در هر حالتی به کار ادامه می‌دهند، و هیچ چیز حذف نمی‌شود. دوباره مشترک شوید تا گزارش پذیرفته‌شدهٔ بعدی، بدون راه‌اندازی دوباره، پروانهٔ Enterprise Edition را برگرداند.

ارتقا

مارکت‌پلیسانتشار تازه چگونه به خوشهٔ شما می‌رسد
AWS Marketplaceهر انتشار، نسخهٔ تازه‌ای از محصول در مارکت‌پلیس است. helm upgrade را با چارت رجیستری محصول، نسخهٔ تازه و فایل values خود اجرا کنید.
Microsoft MarketplaceAKS نسخه‌های فرعی و وصله‌ای تازه را برایتان نصب می‌کند. نسخهٔ اصلی تازه منتظر می‌ماند تا آن را بپذیرید. می‌توانید ارتقای خودکار را در صفحهٔ نصب در Extensions + applications خاموش کنید.
Google Cloud MarketplaceGoogle Cloud Marketplace هر استقرار را روی نسخه‌ای که نصب کرده نگه می‌دارد و هرگز آن را به‌روز نمی‌کند. پیش از بردن یک استقرار به نسخهٔ تازه، با پشتیبانی تماس بگیرید.

‏Status200 هنگام شروع انتشار تازه، مهاجرت‌های پایگاه داده‌اش را اجرا می‌کند. پیش از رفتن به یک نسخهٔ اصلی تازه، یادداشت‌های ارتقا را بخوانید.

از راه مارکت‌پلیس ارتقا دهید. نصبی که از مارکت‌پلیس انجام شده خود را با انتشارهای Status200 در GitHub مقایسه نمی‌کند: نسخه‌هایی که مارکت‌پلیس شما ارائه می‌دهد همان‌هایی هستند که باید به آن‌ها ارتقا دهید.

تنظیمات و مقیاس‌دهی

با بزرگ شدن مقیاس، صورت‌حساب شما تغییر نمی‌کند: هزینهٔ Status200 به ازای هر کاربر حساب می‌شود. رونوشت‌های بیشتر یا گره‌های بزرگ‌تر فقط هزینه‌ای را تغییر می‌دهند که ابر شما برای خوشه حساب می‌کند.

مارکت‌پلیستنظیمات شما کجا هستند
AWS Marketplaceفایل values شما. همهٔ تنظیمات چارت Helm کار می‌کنند، جز اپراتورهای همراه.
Microsoft Marketplaceتنظیمات پیکربندی نصب، در صفحهٔ آن در Extensions + applications یا با az k8s-extension update --configuration-settings. هر تنظیم یک مقدار چارت است، مانند autoscaling.enabled=true.
Google Cloud Marketplaceفیلدهای فرم استقرار. هر چیز دیگری را با kubectl و روی منابع خود استقرار تغییر دهید.
  • برای مقیاس دادن به Status200 از تنظیمات رونوشت و مقیاس‌دهی خودکار چارت (deployment.replicaCount، autoscaling.enabled و بازنویسی‌های خود هر سرویس) استفاده کنید، و برای گره‌ها از مقیاس‌دهندهٔ خودکار خوشهٔ خود.
  • تنظیمات مارکت‌پلیس را همان‌طور که محصول تنظیم کرده نگه دارید: enterpriseMarketplace، و در AWS همچنین serviceAccount. بدون آن‌ها Status200 نمی‌تواند گزارش دهد و Enterprise Edition پروانه نمی‌گیرد.
  • اپراتورهای KEDA، CloudNativePG و Altinity ClickHouse در نسخهٔ مارکت‌پلیس نیستند، چون هر مارکت‌پلیس فقط ایمیج‌هایی را عرضه می‌کند که در صفحهٔ محصولش آمده‌اند. برای ذخیره‌گاه‌های داده با دسترس‌پذیری بالا، Status200 را با externalPostgres، externalRedis و externalClickhouse به سرویس‌های مدیریت‌شده وصل کنید.

صورت‌حساب به تعداد رونوشت‌هایی که اجرا می‌شوند بستگی ندارد: در هر زمان فقط یک اجرا گزارش می‌دهد، و هر ساعت یک گزارش دارد.

رفع اشکال

برچسب نسخه Enterprise Edition (Marketplace Reports Failing) را نشان می‌دهد

‏Status200 نمی‌تواند به مارکت‌پلیس گزارش دهد. هر خطی که دربارهٔ آن در لاگ ثبت می‌کند با Status200 Enterprise marketplace billing شروع می‌شود؛ خطی که می‌گوید مصرف «cannot be reported»، نام چیزی را که کم است می‌آورد. علت‌های معمول:

  • AWS: حساب سرویس oneuptime نقش IAM ندارد، یا نقش آن سیاست AWSMarketplaceMeteringFullAccess را ندارد (AWSMarketplaceMeteringRegisterUsage کافی نیست). سیاست را به نقش وصل کنید، یا نقش را با فرمان eksctl در بخش AWS Marketplace بسازید و سپس پادهای Status200 را با kubectl rollout restart deployment --namespace oneuptime دوباره راه‌اندازی کنید.
  • Azure: نصب، برنامهٔ Microsoft Marketplace نیست، برای نمونه چون با Helm نصب شده است، پس هویت یا طرحی ندارد که با آن گزارش دهد. آن را از پورتال Azure نصب کنید.
  • Google Cloud: راز گزارش‌دهی استقرار حذف یا جایگزین شده است.
  • همهٔ مارکت‌پلیس‌ها: یک فایروال یا پراکسی، HTTPS خروجی‌ای را که در پیش از شروع آمده است مسدود می‌کند.

تا وقتی مشکل را رفع کنید، مصرف نگه داشته می‌شود و به محض اینکه Status200 دوباره بتواند گزارش دهد، هزینه‌اش حساب می‌شود. برای مصرفِ قدیمی‌تر از 30 روز هزینه‌ای حساب نمی‌شود.

برچسب نسخه Enterprise Edition (Marketplace Subscription Ended) را نشان می‌دهد

مارکت‌پلیس نصب را رد کرده است: اشتراک لغو یا تعلیق شده، یا نصب همان نصبی نیست که از مارکت‌پلیس خریده شده است. اشتراک را در مارکت‌پلیس بررسی کنید و دوباره مشترک شوید؛ گزارش پذیرفته‌شدهٔ بعدی پروانهٔ Enterprise Edition را برمی‌گرداند. همین برچسب وقتی هم نشان داده می‌شود که گزارش‌ها در تمام دورهٔ مهلت شکست خورده باشند.

پادها پس از نصب در وضعیت Pending می‌مانند

پایگاه‌های دادهٔ Status200 به حجم‌های ماندگار نیاز دارند. به خوشه یک StorageClass پیش‌فرض بدهید: در Amazon EKS، افزونهٔ درایور Amazon EBS CSI را نصب کنید.

گام‌های بعدی