|
| 1 | +--- |
| 2 | +reviewers: |
| 3 | +- xirehat |
| 4 | +title: استقرار و دسترسی به داشبورد کوبرنتیز |
| 5 | +description: >- |
| 6 | + رابط کاربری وب (داشبورد کوبرنتیز) را مستقر کرده و به آن دسترسی پیدا کنید. |
| 7 | +content_type: concept |
| 8 | +weight: 10 |
| 9 | +card: |
| 10 | + name: tasks |
| 11 | + weight: 30 |
| 12 | + title: از داشبورد رابط کاربری وب استفاده کنید |
| 13 | +--- |
| 14 | + |
| 15 | +<!-- overview --> |
| 16 | + |
| 17 | +Dashboard یک رابط کاربری وبمحور برای کوبرنتیز است. |
| 18 | +شما میتوانید از Dashboard برای استقرار برنامههای کانتینریشده در یک خوشه کوبرنتیز، |
| 19 | +عیبیابی برنامه کانتینریشده خود و مدیریت منابع خوشه استفاده کنید. |
| 20 | +همچنین میتوانید با استفاده از Dashboard نمای کلی از برنامههای در حال اجرا در خوشهتان بهدست آورید |
| 21 | +و منابع جداگانه کوبرنتیز (مانند Deploymentها، Jobها، DaemonSetها و غیره) را ایجاد یا ویرایش کنید. |
| 22 | +بهعنوان مثال، میتوانید یک Deployment را مقیاس دهید، بهروزرسانی مرحلهای (rolling update) را آغاز کنید، یک پاد را راهاندازی مجدد کنید |
| 23 | +یا با استفاده از راهنمای استقرار (deploy wizard) برنامههای جدید را مستقر نمایید. |
| 24 | + |
| 25 | +Dashboard همچنین اطلاعاتی درباره وضعیت منابع کوبرنتیز در خوشه شما و هرگونه خطایی که ممکن است رخ داده باشد ارائه میدهد. |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | +<!-- body --> |
| 30 | + |
| 31 | +## استقرار رابط کاربری Dashboard |
| 32 | + |
| 33 | +{{< note >}} |
| 34 | +در حال حاضر نصب Dashboard تنها با استفاده از Helm پشتیبانی میشود زیرا سریعتر است |
| 35 | +و کنترل بهتری بر تمام وابستگیهای مورد نیاز Dashboard برای اجرا به ما میدهد. |
| 36 | +{{< /note >}} |
| 37 | + |
| 38 | +رابط کاربری Dashboard بهصورت پیشفرض مستقر نیست. برای استقرار آن، فرمان زیر را اجرا کنید: |
| 39 | + |
| 40 | +```shell |
| 41 | +# مخزن kubernetes-dashboard را اضافه کنید |
| 42 | +helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/ |
| 43 | +# با استفاده از نمودار kubernetes-dashboard، یک نسخه Helm با نام "kubernetes-dashboard" مستقر کنید. |
| 44 | +helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard |
| 45 | +``` |
| 46 | + |
| 47 | +## دسترسی به رابط کاربری Dashboard |
| 48 | + |
| 49 | +برای محافظت از دادههای خوشه، Dashboard بهطور پیشفرض با یک پیکربندی حداقلی RBAC مستقر میشود. |
| 50 | +در حال حاضر، Dashboard تنها ورود با توکن Bearer را پشتیبانی میکند. |
| 51 | +برای ایجاد یک توکن برای این نمایش، میتوانید راهنمای ما در |
| 52 | +[ایجاد یک کاربر نمونه](https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md) |
| 53 | +را دنبال کنید. |
| 54 | + |
| 55 | +{{< warning >}} |
| 56 | +کاربر نمونهی ایجادشده در این آموزش دارای دسترسیهای مدیریتی است و تنها برای مقاصد آموزشی میباشد. |
| 57 | +{{< /warning >}} |
| 58 | + |
| 59 | +### پراکسی خط فرمان |
| 60 | + |
| 61 | +میتوانید دسترسی به Dashboard را با استفاده از ابزار خط فرمان `kubectl` و اجرای فرمان زیر فعال کنید: |
| 62 | + |
| 63 | +``` |
| 64 | +kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443 |
| 65 | +``` |
| 66 | + |
| 67 | +Kubectl داشبورد را در آدرس [https://localhost:8443](https://localhost:8443) در دسترس قرار میدهد. |
| 68 | + |
| 69 | +این رابط کاربری _فقط_ از ماشینی که فرمان روی آن اجرا شده قابل دسترسی است. برای گزینههای بیشتر به `kubectl port-forward --help` مراجعه کنید. |
| 70 | + |
| 71 | +{{< note >}} |
| 72 | +روش احراز هویت kubeconfig از ارائهدهندههای هویت خارجی یا احراز هویت مبتنی بر گواهی X.509 **پشتیبانی نمیکند**. |
| 73 | +{{< /note >}} |
| 74 | + |
| 75 | +## نمای خوشآمدگویی |
| 76 | + |
| 77 | +وقتی به Dashboard روی یک خوشه خالی دسترسی پیدا میکنید، صفحه خوشآمدگویی را میبینید. |
| 78 | +این صفحه شامل لینک این سند و همچنین دکمهای برای استقرار اولین برنامه شما است. |
| 79 | +علاوه بر این، میتوانید ببینید که چه برنامههای سیستمی بهصورت پیشفرض در [namespace](/docs/tasks/administer-cluster/namespaces/) `kube-system` خوشه شما در حال اجرا هستند، برای مثال خود Dashboard. |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | +## استقرار برنامههای کانتینریشده |
| 84 | + |
| 85 | +Dashboard به شما امکان میدهد با استفاده از یک راهنمای ساده، یک برنامهی کانتینریشده را بهصورت یک Deployment و سرویس اختیاری (Service) ایجاد و مستقر کنید. |
| 86 | +میتوانید جزئیات برنامه را بهصورت دستی وارد کنید یا یک فایل _مانیفست_ YAML یا JSON حاوی پیکربندی برنامه را بارگذاری نمایید. |
| 87 | + |
| 88 | +برای شروع، روی دکمهی **CREATE** در گوشهی بالای سمت راست هر صفحه کلیک کنید. |
| 89 | + |
| 90 | +### مشخصکردن جزئیات برنامه |
| 91 | + |
| 92 | +راهنمای استقرار انتظار دارد اطلاعات زیر را ارائه دهید: |
| 93 | + |
| 94 | +- **نام برنامه** (اجباری): نام برنامهی شما. |
| 95 | + یک [برچسب](/docs/concepts/overview/working-with-objects/labels/) با این نام به Deployment و Service (در صورت وجود) افزوده خواهد شد. |
| 96 | + |
| 97 | + نام برنامه در [namespace](/docs/tasks/administer-cluster/namespaces/) انتخابشده باید یکتا باشد. |
| 98 | + باید با یک حرف کوچک شروع شود، با یک حرف کوچک یا عدد پایان یابد، و تنها شامل حروف کوچک، اعداد و خط تیره (-) باشد. حداکثر طول آن ۲۴ کاراکتر است. |
| 99 | + فاصلههای قبل و بعد نادیده گرفته میشوند. |
| 100 | + |
| 101 | +- **ایمیج کانتینر** (اجباری): |
| 102 | + URL یک [ایمیج کانتینر](/docs/concepts/containers/images/) عمومی در هر رجیستری یا یک ایمیج خصوصی (معمولاً در Google Container Registry یا Docker Hub)؛ |
| 103 | + مشخصهی ایمیج باید با یک دونقطه (:) پایان یابد. |
| 104 | + |
| 105 | +- **تعداد پادها** (اجباری): |
| 106 | + تعداد هدف از پادها که میخواهید برنامهی شما در آن استقرار یابد. مقدار باید یک عدد صحیح مثبت باشد. |
| 107 | + |
| 108 | + یک [Deployment](/docs/concepts/workloads/controllers/deployment/) ایجاد میشود تا تعداد دلخواه پادها را در سراسر خوشه حفظ کند. |
| 109 | + |
| 110 | +- **Service** (اختیاری): |
| 111 | + برای برخی قسمتهای برنامه (مثلاً فرانتاند) ممکن است بخواهید یک [Service](/docs/concepts/services-networking/service/) را در یک آدرس IP خارجی (شاید عمومی) خارج از خوشه در دسترس قرار دهید (Service خارجی). |
| 112 | + |
| 113 | + {{< note >}} |
| 114 | + برای Serviceهای خارجی، ممکن است نیاز باشد یک یا چند پورت را باز کنید. |
| 115 | + {{< /note >}} |
| 116 | + |
| 117 | + سایر Serviceها که تنها از داخل خوشه قابل مشاهدهاند، Service داخلی نامیده میشوند. |
| 118 | + |
| 119 | + صرفنظر از نوع Service، اگر تصمیم به ایجاد Service گرفتید و کانتینر شما روی پورتی (ورودی) گوش میدهد، باید دو پورت را مشخص کنید. |
| 120 | + Service ایجادشده پورت ورودی را به پورت هدف درون کانتینر نگاشت میکند و به پادهای مستقرشدهی شما مسیر میدهد. پروتکلهای پشتیبانیشده TCP و UDP هستند. |
| 121 | + نام DNS داخلی این Service همان مقداری خواهد بود که در بخش نام برنامه مشخص کردید. |
| 122 | + |
| 123 | +اگر لازم باشد، میتوانید بخش **گزینههای پیشرفته** را باز کنید تا تنظیمات بیشتری را مشخص کنید: |
| 124 | + |
| 125 | +- **توضیحات**: متنی که اینجا وارد میکنید بهعنوان یک |
| 126 | + [annotation](/docs/concepts/overview/working-with-objects/annotations/) |
| 127 | + به Deployment افزوده میشود و در جزئیات برنامه نمایش داده میشود. |
| 128 | + |
| 129 | +- **برچسبها**: برچسبهای پیشفرض برای برنامه شامل نام برنامه و نسخه است. |
| 130 | + میتوانید برچسبهای اضافی مانند release، environment، tier، partition و release track را |
| 131 | + برای Deployment، Service (در صورت وجود) و Pods مشخص کنید. |
| 132 | + |
| 133 | +مثال: |
| 134 | + |
| 135 | + ```conf |
| 136 | + release=1.0 |
| 137 | + tier=frontend |
| 138 | + environment=pod |
| 139 | + track=stable |
| 140 | + ``` |
| 141 | + |
| 142 | +- **Namespace**: کوبرنتیز از چندین خوشه مجازی که توسط یک خوشه فیزیکی پشتیبانی میشوند، پشتیبانی میکند. این خوشههای مجازی را [namespace](/docs/tasks/administer-cluster/namespaces/) مینامند. آنها به شما اجازه میدهند منابع را به گروههای منطقی نامگذاریشده تقسیم کنید. |
| 143 | + |
| 144 | + داشبورد همه namespaceهای موجود را در یک فهرست کشویی نمایش میدهد و امکان ایجاد namespace جدید را فراهم میکند. نام namespace میتواند حداکثر ۶۳ کاراکتر الفانومریک و خط تیره (-) داشته باشد و نباید شامل حروف بزرگ باشد. نامهای namespace نباید فقط از اعداد تشکیل شوند. اگر نام بهصورت عددی مانند `10` تنظیم شود، پاد در namespace پیشفرض قرار میگیرد. |
| 145 | + |
| 146 | + در صورت موفقیتآمیز بودن ایجاد namespace، بهصورت پیشفرض انتخاب میشود. اگر ایجاد شکست بخورد، اولین namespace از فهرست انتخاب خواهد شد. |
| 147 | + |
| 148 | +- **Image Pull Secret**: |
| 149 | + اگر ایمیج داکر مشخصشده خصوصی باشد، ممکن است به اعتبارات [pull secret](/docs/concepts/configuration/secret/) نیاز داشته باشد. |
| 150 | + |
| 151 | + داشبورد همه Secretهای موجود را در یک فهرست کشویی نمایش میدهد و امکان ایجاد یک Secret جدید را فراهم میکند. نام Secret باید از قواعد نام دامنه DNS پیروی کند، برای مثال `new.image-pull.secret`. محتوای Secret باید با base64 رمزگذاری شده و در فایل [`.dockercfg`](/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod) مشخص شود. نام Secret میتواند حداکثر ۲۵۳ کاراکتر باشد. |
| 152 | + |
| 153 | + در صورت موفقیتآمیز بودن ایجاد pull secret، بهصورت پیشفرض انتخاب میشود. اگر ایجاد شکست بخورد، هیچ Secretای اعمال نمیشود. |
| 154 | + |
| 155 | +- **محدودیت CPU (هستهها)** و **محدودیت حافظه (MiB)**: |
| 156 | + میتوانید حداقل [محدودیت منابع](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/) برای کانتینر را مشخص کنید. بهطور پیشفرض، پادها با محدودیت نامحدود CPU و حافظه اجرا میشوند. |
| 157 | + |
| 158 | +- **دستور اجرا** و **آرگومانهای دستور اجرا**: |
| 159 | + بهطور پیشفرض، کانتینرها دستور نقطه ورود ([entrypoint command](/docs/tasks/inject-data-application/define-command-argument-container/)) پیشفرض ایمیج داکر را اجرا میکنند. میتوانید با استفاده از گزینهها و آرگومانهای دستور، مقدار پیشفرض را بازنویسی کنید. |
| 160 | + |
| 161 | +- **اجرای با امتیازات ویژه (privileged)**: |
| 162 | + این تنظیم مشخص میکند آیا فرایندهای داخل [کانتینرهای privileged](/docs/concepts/workloads/pods/#privileged-mode-for-containers) معادل فرایندهای در حال اجرا با کاربر root در میزبان هستند یا خیر. کانتینرهای privileged میتوانند از قابلیتهایی مانند دستکاری پشته شبکه و دسترسی به دستگاهها استفاده کنند. |
| 163 | + |
| 164 | +- **متغیرهای محیطی**: |
| 165 | + کوبرنتیز سرویسها را از طریق [متغیرهای محیطی](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/) در دسترس قرار میدهد. میتوانید متغیرهای محیطی را تعریف کنید یا با استفاده از مقادیر آنها آرگومانهایی به دستورات خود ارسال نمایید. این متغیرها میتوانند در برنامهها برای یافتن یک سرویس استفاده شوند. مقادیر میتوانند با نحو `$(VAR_NAME)` به متغیرهای دیگر ارجاع دهند. |
| 166 | + |
| 167 | +### بارگذاری یک فایل YAML یا JSON |
| 168 | + |
| 169 | +Kubernetes از پیکربندی بیانی (declarative configuration) پشتیبانی میکند. |
| 170 | +در این روش، تمام پیکربندیها در فایلهای مانیفست (YAML یا JSON) ذخیره میشوند. |
| 171 | +این مانیفستها از اسکیماهای منابع [API](/docs/concepts/overview/kubernetes-api/) کوبرنتیز استفاده میکنند. |
| 172 | + |
| 173 | +بهجای مشخص کردن جزئیات برنامه در راهنمای استقرار، |
| 174 | +میتوانید برنامهی خود را در یک یا چند مانیفست تعریف کرده و فایلها را با استفاده از Dashboard بارگذاری کنید. |
| 175 | + |
| 176 | +## استفاده از Dashboard |
| 177 | + |
| 178 | +بخشهای زیر نماهای رابط کاربری Dashboard را توضیح میدهند؛ اینکه چه ارائه میدهند و چگونه میتوان از آنها استفاده کرد. |
| 179 | + |
| 180 | +### ناوبری |
| 181 | + |
| 182 | +وقتی اشیاء کوبرنتیز در خوشه تعریف شده باشند، Dashboard آنها را در نمای اولیه نمایش میدهد. |
| 183 | +بهطور پیشفرض تنها اشیاء از namespace _default_ نشان داده میشوند و |
| 184 | +این حالت را میتوان با استفاده از انتخابکنندهی namespace در منوی ناوبری تغییر داد. |
| 185 | + |
| 186 | +Dashboard اکثر انواع اشیاء کوبرنتیز را نمایش میدهد و آنها را در چند دستهبندی منو گروهبندی میکند. |
| 187 | + |
| 188 | +#### مرور کلی برای مدیران |
| 189 | + |
| 190 | +برای مدیران خوشه و namespace، داشبورد فهرستی از Nodeها، Namespaceها و PersistentVolumeها را نمایش میدهد و نماهای جزئیات برای هر کدام دارد. |
| 191 | +نمای فهرست Node شامل معیارهای مصرف CPU و حافظه است که در همهی Nodeها تجمیع شدهاند. |
| 192 | +نمای جزئیات متریکهای یک Node، مشخصات آن، وضعیت، منابع تخصیصیافته، رویدادها و پادهای در حال اجرا روی آن را نمایش میدهد. |
| 193 | + |
| 194 | +#### Workloads |
| 195 | + |
| 196 | +تمام برنامههای در حال اجرا در namespace انتخابشده را نمایش میدهد. |
| 197 | +این نما، برنامهها را بر اساس نوع Workload (برای مثال: Deploymentها، ReplicaSetها، StatefulSetها) فهرست میکند. |
| 198 | +هر نوع Workload را میتوان بهصورت جداگانه مشاهده کرد. |
| 199 | +فهرستها اطلاعات قابل اقدام دربارهی Workloadها را خلاصه میکنند، |
| 200 | +مانند تعداد پادهای آماده برای یک ReplicaSet یا مصرف فعلی حافظه برای یک Pod. |
| 201 | + |
| 202 | +نماهای جزئیات Workload اطلاعات وضعیت و مشخصات را نمایش میدهند و |
| 203 | +ارتباطات بین اشیاء را نشان میدهند. |
| 204 | +برای مثال، پادهایی که یک ReplicaSet کنترل میکند یا ReplicaSetها و HorizontalPodAutoscalerهای جدید برای Deploymentها. |
| 205 | + |
| 206 | +#### Services |
| 207 | + |
| 208 | +منابع کوبرنتیز را نمایش میدهد که امکان در دسترس قرار دادن سرویسها برای دنیای خارج و |
| 209 | +کشف آنها در داخل خوشه را فراهم میکنند. |
| 210 | +به همین دلیل، نماهای Service و Ingress پادهای هدفگیریشده توسط آنها، |
| 211 | +نقاط انتهایی داخلی برای ارتباطات خوشه و نقاط انتهایی خارجی برای کاربران خارج را نمایش میدهند. |
| 212 | + |
| 213 | +#### ذخیرهسازی |
| 214 | + |
| 215 | +نمای Storage منابع PersistentVolumeClaim را نمایش میدهد که برنامهها برای ذخیرهسازی داده از آنها استفاده میکنند. |
| 216 | + |
| 217 | +#### ConfigMaps و Secrets {#config-maps-and-secrets} |
| 218 | + |
| 219 | +تمام منابع کوبرنتیز که برای پیکربندی زندهی برنامههای در حال اجرا در خوشهها استفاده میشوند را نمایش میدهد. |
| 220 | +این نما امکان ویرایش و مدیریت اشیاء پیکربندی را فراهم میکند و Secrets را که بهطور پیشفرض مخفی هستند، نمایش میدهد. |
| 221 | + |
| 222 | +#### نمایشگر لاگها |
| 223 | + |
| 224 | +فهرست پادها و صفحات جزئیات لینک به نمایشگر لاگ تعبیهشده در Dashboard دارند. |
| 225 | +این نمایشگر امکان بررسی عمیق لاگهای کانتینرهای متعلق به یک پاد را فراهم میکند. |
| 226 | + |
| 227 | + |
| 228 | + |
| 229 | +## {{% heading "whatsnext" %}} |
| 230 | + |
| 231 | +برای اطلاعات بیشتر، به |
| 232 | +[صفحهی پروژهی Kubernetes Dashboard](https://github.com/kubernetes/dashboard) |
| 233 | +مراجعه کنید. |
| 234 | + |
| 235 | + |
0 commit comments