diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index 87b35bfe9a5d6..1b27159859883 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -219,6 +219,16 @@ aliases: - Arhell - idvoretskyi - MaxymVlasov + sig-docs-fa-owners: # Admins for Persian content + - behiuu + - mamrezb + - moh0ps + - xirehat + sig-docs-fa-reviews: # PR reviews for Persian content + - behiuu + - mamrezb + - moh0ps + - xirehat # authoritative source: git.k8s.io/community/OWNERS_ALIASES committee-steering: # provide PR approvals for announcements - aojea diff --git a/README.md b/README.md index 7ab196f99682e..18707cc489034 100644 --- a/README.md +++ b/README.md @@ -200,14 +200,14 @@ If you need help at any point when contributing, the [New Contributor Ambassador | Language | Language | | -------------------------- | -------------------------- | -| [Bengali](./content/bn/README.md) | [Korean](./content/ko/README.md) | -| [Chinese](./content/zh-cn/README.md) | [Polish](./content/pl/README.md) | -| [French](./content/fr/README.md) | [Portuguese](./content/pt-br/README.md) | -| [German](./content/de/README.md) | [Russian](./content/ru/README.md) | -| [Hindi](./content/hi/README.md) | [Spanish](./content/es/README.md) | -| [Indonesian](./content/id/README.md) | [Ukrainian](./content/uk/README.md) | -| [Italian](./content/it/README.md) | [Vietnamese](./content/vi/README.md) | -| [Japanese](./content/ja/README.md) | | +| [Bengali](./content/bn/README.md) | [Korean](./content/ko/README.md) | +| [Chinese](./content/zh-cn/README.md) | [Persian](./content/fa/README.md) | +| [French](./content/fr/README.md) | [Polish](./content/pl/README.md) | +| [German](./content/de/README.md) | [Portuguese](./content/pt-br/README.md) | +| [Hindi](./content/hi/README.md) | [Russian](./content/ru/README.md) | +| [Indonesian](./content/id/README.md) | [Spanish](./content/es/README.md) | +| [Italian](./content/it/README.md) | [Ukrainian](./content/uk/README.md) | +| [Japanese](./content/ja/README.md) | [Vietnamese](./content/vi/README.md) | ## Code of conduct diff --git a/content/fa/OWNERS b/content/fa/OWNERS new file mode 100644 index 0000000000000..a1d81af5d0858 --- /dev/null +++ b/content/fa/OWNERS @@ -0,0 +1,14 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +# This is the localization project for Persian. +# Teams and members are visible at https://github.com/orgs/kubernetes/teams. + +reviewers: +- sig-docs-fa-reviews + +approvers: +- sig-docs-fa-owners + +labels: +- area/localization +- language/fa diff --git a/content/fa/README.md b/content/fa/README.md new file mode 100644 index 0000000000000..4982fabede783 --- /dev/null +++ b/content/fa/README.md @@ -0,0 +1,133 @@ + +# مستندات فارسی کوبرنتیز + + +[](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [](https://github.com/kubernetes/website/releases/latest) + + + +خوش آمدید! این مخزن شامل محتویات لازم برای ساخت [تارنما کوبرنتیز فارسی و مستندات](https://kubernetes.io/fa/) آن است. خوشحال میشویم که در این مسیر با مشارکت کردن ما را همراهی کنید. + + +## نحوه مشارکت کردن در مستندسازی + + +شما میتوانید روی دکمهی **Fork** در گوشهی سمت راست بالای صفحه کلیک کنید تا یک رونوشت از این مخزن در حساب گیتهاب خود ایجاد کنید. این رونوشت *fork* نامیده میشود. تغییرات دلخواه را در fork خود اعمال کنید. وقتی آمادهی ارسال آن تغییرات به ما شدید، به fork خود بروید و یک درخواست ادغام جدید ایجاد کنید و به ما اطلاع دهید. + + +پس از ایجاد درخواست ادغام از سمت شما، فرد بررسیکننده تیم مستندات فارسی کوبرنتیز مسئولیت ارائه بازخورد و بررسی درخواست شما را بر عهده میگیرد. به عنوان صاحب درخواست ادغام، مسئولیت اصلاح درخواست ادغام بر اساس بازخوردی که از بررسیکننده تیم مستندات فارسی کوبرنتیز دریافت میکنید، بر عهده شماست. همچنین، توجه داشته باشید که ممکن است در نهایت بیش از یک بررسیکننده بازخورد ارائه دهند، یا ممکن است از فرد بررسیکننده جدید و متفاوت از کسی که در ابتدا برای ارائه بازخورد تعیین شده بود، بازخورد دریافت کنید. در برخی موارد، در صورت نیاز، یکی از بررسیکنندگان شما ممکن است از یک [بررسیکننده فنی کوبرنتیز](https://github.com/kubernetes/website/wiki/tech-reviewers) درخواست بررسی فنی کند. بررسیکنندگان تمام تلاش خود را میکنند تا بازخوردها را به موقع ارائه دهند، اما زمان پاسخگویی بسته به شرایط ممکن است متفاوت باشد. + + +برای اطلاعات بیشتر در مورد مشارکت در مستندسازی کوبرنتیز به فارسی به لینکهای زیر مراجعه کنید: + + +* [شروع مشارکت](https://kubernetes.io/fa/docs/contribute/start/) + +* [انواع محتوای صفحه](https://kubernetes.io/fa/docs/contribute/style/page-content-types/) + +* [راهنمای سبک مستندسازی](https://kubernetes.io/fa/docs/contribute/style/style-guide/) + +* [بومیسازی مستندات کوبرنتیز](https://kubernetes.io/fa/docs/contribute/localization/) + + +## مستندات بومیسازی کوبرنتیز در `README.md` + + +### فارسی + +با تیم بومی سازی فارسی میتوان از طریق آدرسهای زیر در ارتباط باشید: + +* محمدامین طاهری ([@xirehat](https://github.com/xirehat)) + +* محمد زارعی ([@moh0ps](https://github.com/moh0ps)) + +* بهدین طالبی ([@behiuu](https://github.com/behiuu)) + +* محمدرضا بهفر ([@mamrezb](https://github.com/mamrezb)) + +* [کانال Slack](https://kubernetes.slack.com/messages/kubernetes-docs-fa) + + +## اجرای تارنما با Docker + + +برای اجرای تارنما کوبرنتیز، توصیه میشود آن را با [Docker](https://docker.com) اجرا کنید که شامل مولد تارنما استاتیک [Hugo](https://gohugo.io) باشد. + + +> در ویندوز، به ابزارهای اضافی نیاز دارید که میتوانید با [Chocolatey] (https://chocolatey.org) نصب کنید. +`choco install make` + + +> اگر ترجیح میدهید تارنما را بدون داکر اجرا کنید، به [اجرای تارنما با هوگو](#اجرای-تارنما-با-هوگو) مراجعه کنید. + + +قالب مورد نیاز [Docsy Hugo theme](https://github.com/google/docsy#readme) باید به عنوان یک زیرماژول git نصب شود: + +``` +git submodule update --init --recursive --depth 1 +``` + + +اگر داکر را نصب کردهاید، image داکر `hugo` را ایجاد کنید: + +```bash +make container-image +``` + + +پس از ایجاد image، میتوانید تارنما را راه اندازی کنید: + +```bash +make container-serve +``` + + +برای مشاهده تارنما، مرورگر خود را با نشانی http://localhost:1313 باز کنید. وقتی تغییراتی در پروندههای منبع ایجاد میکنید، Hugo تارنما را بهروزرسانی کرده و مرورگر را مجبور به فراخوانی مجدد میکند. + + +## اجرای تارنما با هوگو + + +دستورالعملهای نصب Hugo را میتوانید در [مستندات رسمی](https://gohugo.io/installation/) بیابید. مطمئن شوید که نسخه Hugo مشخص شده در متغیر محیطی `HUGO_VERSION` در فایل `netlify.toml` را نصب میکنید. + + +قالب مورد نیاز [Docsy Hugo theme](https://github.com/google/docsy#readme) باید به عنوان یک زیرماژول git نصب شود: + +``` +git submodule update --init --recursive --depth 1 +``` + + +برای اجرای تارنما در صورتی که Hugo را نصب کردهاید: + +```bash +npm ci +make serve +``` + + +برای مشاهده تارنما، مرورگر خود را با نشانی http://localhost:1313 باز کنید. وقتی تغییراتی در پروندههای منبع ایجاد میکنید، Hugo تارنما را بهروزرسانی کرده و مرورگر را مجبور به فراخوانی مجدد میکند. + + +## جامعه، بحث، مشارکت و حمایت + + +برای آشنایی با نحوه تعامل با انجمن کوبرنتیز به [صفحه انجمن](https://kubernetes.io/community/) مراجعه کنید. + + +برای ارتباط با سرپرستان این پروژه میتوانید از طریق نشانی زیر اقدام کنید: + +- [Slack](https://kubernetes.slack.com/messages/sig-docs) +- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) + + +### قوانین رفتاری + + +مشارکت در جامعه کوبرنتیز تابع [قوانین رفتاری کوبرنتیز](https://github.com/kubernetes/website/blob/main/code-of-conduct.md) است. + + +## سپاس گزاریم + + +کوبرنتیز با مشارکت جامعه رونق میگیرد و ما از مشارکتهای شما در تارنما و مستندات کوبرنتیز فارسی استقبال میکنیم. دمتون گرم! \ No newline at end of file diff --git a/content/fa/_common-resources/images/blocks.svg b/content/fa/_common-resources/images/blocks.svg new file mode 100644 index 0000000000000..a129531bec868 --- /dev/null +++ b/content/fa/_common-resources/images/blocks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/fa/_common-resources/images/flower.svg b/content/fa/_common-resources/images/flower.svg new file mode 100644 index 0000000000000..fd287a8889c7e --- /dev/null +++ b/content/fa/_common-resources/images/flower.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/fa/_common-resources/images/kub_video_banner_homepage.jpg b/content/fa/_common-resources/images/kub_video_banner_homepage.jpg new file mode 100644 index 0000000000000..e40d92a50363b Binary files /dev/null and b/content/fa/_common-resources/images/kub_video_banner_homepage.jpg differ diff --git a/content/fa/_common-resources/images/scalable.svg b/content/fa/_common-resources/images/scalable.svg new file mode 100644 index 0000000000000..d8c475146e1cc --- /dev/null +++ b/content/fa/_common-resources/images/scalable.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/fa/_common-resources/images/suitcase.svg b/content/fa/_common-resources/images/suitcase.svg new file mode 100644 index 0000000000000..2393fa8bcb14e --- /dev/null +++ b/content/fa/_common-resources/images/suitcase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/fa/_common-resources/index.md b/content/fa/_common-resources/index.md new file mode 100644 index 0000000000000..ca03031f1ee91 --- /dev/null +++ b/content/fa/_common-resources/index.md @@ -0,0 +1,3 @@ +--- +headless: true +--- diff --git a/content/fa/_index.html b/content/fa/_index.html new file mode 100644 index 0000000000000..fb2538a22dad0 --- /dev/null +++ b/content/fa/_index.html @@ -0,0 +1,62 @@ +--- +title: "مدیریت کانتینر در محیط عملیاتی" +abstract: "استقرار، مقیاسبندی و مدیریت خودکار کانتینر" +cid: home +sitemap: + priority: 1.0 +--- + +{{< blocks/section class="k8s-overview" >}} +{{% blocks/feature image="flower" id="feature-primary" %}} +[کوبرنتیز]({{< relref "/docs/concepts/overview/" >}}), که با نام K8s نیز شناخته میشود، یک سامانه متنباز برای خودکارسازی استقرار، مقیاسبندی و مدیریت برنامههای کانتینری است. + +این سامانه، کانتینرهایی را که یک برنامه را تشکیل میدهند، برای مدیریت و کشف آسان، در واحدهای منطقی گروهبندی میکند. کوبرنتیز بر اساس [۱۵ سال تجربه در اجرای برنامههای عملیاتی در گوگل](https://queue.acm.org/detail.cfm?id=2898444) و با ترکیب بهترین ایدهها و شیوههای جامعه ساخته شده است. +{{% /blocks/feature %}} + +{{% blocks/feature image="scalable" %}} +#### مقیاس سیاره + +کوبرنتیز که بر اساس همان اصولی طراحی شده است که به گوگل اجازه میدهد میلیاردها کانتینر را در هفته اجرا کند، میتواند بدون افزایش تیم عملیاتی شما، مقیاسپذیر شود. + +{{% /blocks/feature %}} + +{{% blocks/feature image="blocks" %}} +#### از بزرگ شدن نترس + +چه یک سازمان کوچک و چه یک سازمان با مقیاس جهانی را اداره کنید، انعطافپذیری کوبرنتیز با شما رشد میکند تا برنامههای شما را به طور مداوم و آسان، صرف نظر از پیچیدگی نیازتان، ارائه دهد. + +{{% /blocks/feature %}} + +{{% blocks/feature image="suitcase" %}} +#### کوبرنتیز همه جا + +کوبرنتیز متنباز است و به شما آزادی عمل میدهد تا از زیرساختهای ابری داخلی، ترکیبی یا عمومی بهره ببرید و به شما امکان میدهد بدون دردسر برنامهها را به جایی که برایتان مهم است منتقل کنید. + +برای دانلود کوبرنتیز، به بخش [دانلود](/releases/download/) مراجعه کنید. + +{{% /blocks/feature %}} + +{{< /blocks/section >}} + +{{< blocks/section id="video" background-image="kub_video_banner_homepage" >}} +
نوشته Sarah Wells، راهبر فنی عملیات و پایایی در Financial Times
+ + +جامعه کوبرنتیز - کاربران، مشارکتکنندگان و فرهنگی که + ما با هم ساختهایم - یکی از بزرگترین دلایل رشد سریع این + پروژه متنباز است. فرهنگ و ارزشهای ما همچنان با رشد و تغییر + خود پروژه، در حال رشد و تغییر هستند. همه ما با هم + برای بهبود مداوم پروژه و روشهای کار بر روی آن تلاش میکنیم.
+ ما افرادی هستیم که مسائل را ثبت و درخواستها را بررسی میکنیم، در جلسات SIG،
+ گردهماییهای کوبرنتیز و KubeCon شرکت میکنیم، از پذیرش و نوآوری آن حمایت میکنیم،
+ kubectl get pods
را اجرا میکنیم و به هزاران روش حیاتی دیگر مشارکت میکنیم.
+ برای یادگیری نحوه مشارکت و عضویت در این جامعه شگفتانگیز، ادامه مطلب را بخوانید.
ارزشهای جامعه کوبرنتیز سنگ بنای موفقیت مداوم این پروژه هستند.
+ این اصول، هر جنبهای از پروژه کوبرنتیز را هدایت میکنند.
جامعهی کوبرنتیز برای احترام و شمول ارزش قائل است و در تمام تعاملات، یک آییننامهی رفتاری را اجرا میکند.
+اگر در یک رویداد یا جلسه، در Slack یا از طریق هر سازوکار ارتباطی دیگری متوجه نقض «آییننامه رفتاری» شدید، با کمیته آییننامه رفتاری کوبرنتیز از طریق conduct@kubernetes.io تماس بگیرید. تمام گزارشها محرمانه میمانند. میتوانید درباره کمیته در مخزن جامعه کوبرنتیز روی گیتهاب مطالعه کنید.
+ + بیشتر بخوانید + +کوبرنتیز در یوتیوب خیلی فعال هست، برای طیف وسیعی از موضوعات آن را دنبال کنید.
+ +ما زیاد صحبت میکنیم. ما را پیدا کنید و در هر یک از این بُنسازهها به گفتگو بپیوندید.
+ +بحثهای فنی موضوعی که اسناد، عیبیابی و موارد دیگر را به هم پیوند میدهد.
+بحثهای مربوط به کوبرنتیز در Server Fault. سوالی بپرسید یا به سوالی پاسخ دهید.
+با بیش از ۱۷۰ کانال، کانالی را پیدا خواهید کرد که متناسب با نیازهای شما باشد.
++ با بیش از ۱۵۰ گردهمایی در جهان که همچنان در حال افزایش است، به دنبال افراد محلی علاقهمند به کوبرنتیز بگردید. اگر کسی در نزدیکی شما نیست، مسئولیت را به عهده بگیرید و گردهمایی خودتان را ایجاد کنید. +
+ + یک جلسه ملاقات پیدا کنید + +Header | +Possible values | +Notes | +
---|---|---|
Accept-Encoding |
+ gzip |
+ not supplying this header is also acceptable | +
Accept |
+ application/com.github.proto-openapi.spec.v2@v1.0+protobuf |
+ mainly for intra-cluster use | +
application/json |
+ default | +|
* |
+ serves application/json |
+
Header | +Possible values | +Notes | +
---|---|---|
Accept-Encoding |
+ gzip |
+ not supplying this header is also acceptable | +
Accept |
+ application/com.github.proto-openapi.spec.v3@v1.0+protobuf |
+ mainly for intra-cluster use | +
application/json |
+ default | +|
* |
+ serves application/json |
+
kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]
| حاشیهنویسیهای یک یا چند منبع را اضافه یا بهروزرسانی کنید.
+`api-resources` | `kubectl api-resources [flags]` | فهرست منابع API موجود.
+`api-versions` | `kubectl api-versions [flags]` | فهرست نسخههای API موجود.
+`apply` | `kubectl apply -f FILENAME [flags]`| اعمال یک تغییر پیکربندی به یک منبع از یک فایل یا stdin.
+`attach` | `kubectl attach POD -c CONTAINER [-i] [-t] [flags]` | برای مشاهده جریان خروجی یا تعامل با کانتینر (stdin)، به یک کانتینر در حال اجرا متصل میشود.
+`auth` | `kubectl auth [flags] [options]` | بررسی مجوزها.
+`autoscale` | kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]
| به طور خودکار مجموعه پادهایی را که توسط یک کنترلکننده تکثیر مدیریت میشوند، مقیاسبندی میکند.
+`certificate` | `kubectl certificate SUBCOMMAND [options]` | تغییر منابع گواهی.
+`cluster-info` | `kubectl cluster-info [flags]` | نمایش اطلاعات نقطه پایانی در مورد سرور اصلی و سرویسهای موجود در خوشه.
+`تکمیل` | `تکمیل kubectl SHELL [options]` | کد تکمیل پوسته را برای پوسته مشخص شده (bash یا zsh) خروجی میدهد.
+
+`config` | `kubectl config SUBCOMMAND [flags]` | فایلهای kubeconfig را تغییر میدهد. برای جزئیات بیشتر به زیردستورات جداگانه مراجعه کنید.
+`convert` | `kubectl convert -f FILENAME [options]` | تبدیل فایلهای پیکربندی بین نسخههای مختلف API. هر دو فرمت YAML و JSON پذیرفته میشوند. توجه - نصب افزونه `kubectl-convert` الزامی است.
+`cordon` | `kubectl cordon NODE [options]` | علامتگذاری گره به عنوان غیرقابل برنامهریزی.
+`cp` | `kubectl cp kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags]
| حذف منابع از یک فایل، stdin یا با مشخص کردن انتخابگرهای برچسب، نامها، انتخابگرهای منبع یا منابع.
+`describe` | kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]
| نمایش وضعیت دقیق یک یا چند منبع.
+`diff` | `kubectl diff -f FILENAME [flags]`| فایل تفاوت یا stdin در برابر پیکربندی زنده.
+`drain` | `kubectl drain NODE [options]` | گره را برای آمادهسازی جهت تعمیر و نگهداری تخلیه کنید.
+`edit` | kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]
| ویرایش و بهروزرسانی تعریف یک یا چند منبع روی سرور با استفاده از ویرایشگر پیشفرض.
+`events` | `kubectl events` | فهرست رویدادها
+`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | اجرای یک دستور روی یک کانتینر در یک pod.
+`explain` | `kubectl explain TYPE [--recursive=false] [flags]` | دریافت مستندات منابع مختلف. به عنوان مثال podها، گرهها، سرویسها و غیره.
+`expose` | kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [flags]
| یک کنترلکننده، سرویس یا غلاف تکثیر را به عنوان یک سرویس جدید Kubernetes افشا کنید.
+`get` | kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags]
| یک یا چند منبع را فهرست میکند.
+`kustomize` | `kubectl kustomize برچسب kubectl (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]
| برچسبهای یک یا چند منبع را اضافه یا بهروزرسانی کنید.
+`logs` | `kubectl logs POD [-c CONTAINER] [--follow] [flags]` | گزارشهای مربوط به یک کانتینر در یک pod را چاپ کنید.
+`options` | `kubectl options` | فهرست گزینههای سراسری خط فرمان، که برای همه دستورات اعمال میشوند.
+`patch` | kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags]
| بهروزرسانی یک یا چند فیلد از یک منبع با استفاده از فرآیند استراتژیک ادغام پچ.
+`plugin` | `kubectl plugin [flags] [options]` | ابزارهایی برای تعامل با افزونهها فراهم میکند.
+`port-forward` | `kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]` | یک یا چند پورت محلی را به یک pod فوروارد میکند.
+`proxy` | `kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]` | یک پروکسی برای سرور API کوبرنتیز اجرا کنید.
+`replace` | `kubectl replace -f FILENAME` | جایگزینی یک منبع از یک فایل یا stdin.
+`rollout` | `kubectl rollout SUBCOMMAND [options]` | مدیریت rollout یک منبع. انواع منابع معتبر عبارتند از: deployments، daemonsets و statefulsets.
+`run` | kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client|none] [--overrides=inline-json] [flags]
| یک تصویر مشخص شده را روی خوشه اجرا کن.
+`scale` | kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags]
| اندازه کنترلکننده تکثیر مشخصشده را بهروزرسانی میکند.
+`set` | `kubectl set SUBCOMMAND [options]` | پیکربندی منابع برنامه.
+`taint` | `kubectl taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 ... KEY_N=VAL_N:TAINT_EFFECT_N [options]` | taintها را در یک یا چند گره بهروزرسانی کنید.
+`top` | kubectl top (POD | NODE) [flags] [options]
| نمایش میزان استفاده از منابع (CPU/Memory/Storage) از pod یا گره.
+`uncordon` | `kubectl uncordon NODE [options]` | علامتگذاری گره به عنوان قابل زمانبندی.
+`version` | `kubectl version [--client] [flags]` | نمایش نسخه Kubernetes در حال اجرا روی کلاینت و سرور.
+`wait` | kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=delete|--for condition=available] [options]
| آزمایشی: منتظر یک شرط خاص روی یک یا چند منبع بمانید.
+
+برای کسب اطلاعات بیشتر در مورد عملیات دستور، به مستندات مرجع [kubectl](/docs/reference/kubectl/kubectl/) مراجعه کنید.
+
+## انواع منابع
+
+جدول زیر شامل لیستی از انواع منابع پشتیبانی شده و نامهای مستعار اختصاری آنها است.
+
+(این خروجی را میتوان از `kubectl api-resources` بازیابی کرد و از Kubernetes 1.25.0 دقیق بود.)
+
+| NAME | SHORTNAMES | APIVERSION | NAMESPACED | KIND |
+|---|---|---|---|---|
+| `bindings` | | v1 | true | Binding |
+| `componentstatuses` | `cs` | v1 | false | ComponentStatus |
+| `configmaps` | `cm` | v1 | true | ConfigMap |
+| `endpoints` | `ep` | v1 | true | Endpoints |
+| `events` | `ev` | v1 | true | Event |
+| `limitranges` | `limits` | v1 | true | LimitRange |
+| `namespaces` | `ns` | v1 | false | Namespace |
+| `nodes` | `no` | v1 | false | Node |
+| `persistentvolumeclaims` | `pvc` | v1 | true | PersistentVolumeClaim |
+| `persistentvolumes` | `pv` | v1 | false | PersistentVolume |
+| `pods` | `po` | v1 | true | Pod |
+| `podtemplates` | | v1 | true | PodTemplate |
+| `replicationcontrollers` | `rc` | v1 | true | ReplicationController |
+| `resourcequotas` | `quota` | v1 | true | ResourceQuota |
+| `secrets` | | v1 | true | Secret |
+| `serviceaccounts` | `sa` | v1 | true | ServiceAccount |
+| `services` | `svc` | v1 | true | Service |
+| `mutatingwebhookconfigurations` | | admissionregistration.k8s.io/v1 | false | MutatingWebhookConfiguration |
+| `validatingwebhookconfigurations` | | admissionregistration.k8s.io/v1 | false | ValidatingWebhookConfiguration |
+| `customresourcedefinitions` | `crd,crds` | apiextensions.k8s.io/v1 | false | CustomResourceDefinition |
+| `apiservices` | | apiregistration.k8s.io/v1 | false | APIService |
+| `controllerrevisions` | | apps/v1 | true | ControllerRevision |
+| `daemonsets` | `ds` | apps/v1 | true | DaemonSet |
+| `deployments` | `deploy` | apps/v1 | true | Deployment |
+| `replicasets` | `rs` | apps/v1 | true | ReplicaSet |
+| `statefulsets` | `sts` | apps/v1 | true | StatefulSet |
+| `tokenreviews` | | authentication.k8s.io/v1 | false | TokenReview |
+| `localsubjectaccessreviews` | | authorization.k8s.io/v1 | true | LocalSubjectAccessReview |
+| `selfsubjectaccessreviews` | | authorization.k8s.io/v1 | false | SelfSubjectAccessReview |
+| `selfsubjectrulesreviews` | | authorization.k8s.io/v1 | false | SelfSubjectRulesReview |
+| `subjectaccessreviews` | | authorization.k8s.io/v1 | false | SubjectAccessReview |
+| `horizontalpodautoscalers` | `hpa` | autoscaling/v2 | true | HorizontalPodAutoscaler |
+| `cronjobs` | `cj` | batch/v1 | true | CronJob |
+| `jobs` | | batch/v1 | true | Job |
+| `certificatesigningrequests` | `csr` | certificates.k8s.io/v1 | false | CertificateSigningRequest |
+| `leases` | | coordination.k8s.io/v1 | true | Lease |
+| `endpointslices` | | discovery.k8s.io/v1 | true | EndpointSlice |
+| `events` | `ev` | events.k8s.io/v1 | true | Event |
+| `flowschemas` | | flowcontrol.apiserver.k8s.io/v1beta2 | false | FlowSchema |
+| `prioritylevelconfigurations` | | flowcontrol.apiserver.k8s.io/v1beta2 | false | PriorityLevelConfiguration |
+| `ingressclasses` | | networking.k8s.io/v1 | false | IngressClass |
+| `ingresses` | `ing` | networking.k8s.io/v1 | true | Ingress |
+| `networkpolicies` | `netpol` | networking.k8s.io/v1 | true | NetworkPolicy |
+| `runtimeclasses` | | node.k8s.io/v1 | false | RuntimeClass |
+| `poddisruptionbudgets` | `pdb` | policy/v1 | true | PodDisruptionBudget |
+| `podsecuritypolicies` | `psp` | policy/v1beta1 | false | PodSecurityPolicy |
+| `clusterrolebindings` | | rbac.authorization.k8s.io/v1 | false | ClusterRoleBinding |
+| `clusterroles` | | rbac.authorization.k8s.io/v1 | false | ClusterRole |
+| `rolebindings` | | rbac.authorization.k8s.io/v1 | true | RoleBinding |
+| `roles` | | rbac.authorization.k8s.io/v1 | true | Role |
+| `priorityclasses` | `pc` | scheduling.k8s.io/v1 | false | PriorityClass |
+| `csidrivers` | | storage.k8s.io/v1 | false | CSIDriver |
+| `csinodes` | | storage.k8s.io/v1 | false | CSINode |
+| `csistoragecapacities` | | storage.k8s.io/v1 | true | CSIStorageCapacity |
+| `storageclasses` | `sc` | storage.k8s.io/v1 | false | StorageClass |
+| `volumeattachments` | | storage.k8s.io/v1 | false | VolumeAttachment |
+
+## گزینه های خروجی
+
+
+برای کسب اطلاعات در مورد نحوه قالببندی یا مرتبسازی خروجی دستورات خاص، از بخشهای زیر استفاده کنید. برای جزئیات بیشتر در مورد اینکه کدام دستورات از گزینههای مختلف خروجی پشتیبانی میکنند، به مستندات مرجع [kubectl](/docs/reference/kubectl/kubectl/) مراجعه کنید.
+
+### فرمت کردن خروجی
+
+
+قالب خروجی پیشفرض برای همه دستورات `kubectl`، قالب متن ساده قابل خواندن توسط انسان است. برای خروجی دادن جزئیات به پنجره ترمینال خود با فرمتی خاص، میتوانید پرچمهای `-o` یا `--output` را به یک دستور `kubectl` پشتیبانی شده اضافه کنید.
+
+
+#### Syntax
+
+```shell
+kubectl [command] [TYPE] [NAME] -o Rule | +Purpose | +
---|---|
self.minReplicas <= self.replicas && self.replicas <= self.maxReplicas | +Validate that the three fields defining replicas are ordered appropriately | +
'Available' in self.stateCounts | +Validate that an entry with the 'Available' key exists in a map | +
(self.list1.size() == 0) != (self.list2.size() == 0) | +Validate that one of two lists is non-empty, but not both | +
self.envars.filter(e, e.name = 'MY_ENV').all(e, e.value.matches('^[a-zA-Z]*$')) | +Validate the 'value' field of a listMap entry where key field 'name' is 'MY_ENV' | +
has(self.expired) && self.created + self.ttl < self.expired | +Validate that 'expired' date is after a 'create' date plus a 'ttl' duration | +
self.health.startsWith('ok') | +Validate a 'health' string field has the prefix 'ok' | +
self.widgets.exists(w, w.key == 'x' && w.foo < 10) | +Validate that the 'foo' property of a listMap item with a key 'x' is less than 10 | +
type(self) == string ? self == '99%' : self == 42 | +Validate an int-or-string field for both the int and string cases | +
self.metadata.name == 'singleton' | +Validate that an object's name matches a specific value (making it a singleton) | +
self.set1.all(e, !(e in self.set2)) | +Validate that two listSets are disjoint | +
self.names.size() == self.details.size() && self.names.all(n, n in self.details) | +Validate the 'details' map is keyed by the items in the 'names' listSet | +
self.details.all(key, key.matches('^[a-zA-Z]*$')) | +Validate the keys of the 'details' map | +
self.details.all(key, self.details[key].matches('^[a-zA-Z]*$')) | +Validate the values of the 'details' map | +
CEL option, library or language feature | +Included | +Availability | +
---|---|---|
Standard macros | +has , all , exists , exists_one , map , filter |
+ All Kubernetes versions | +
Standard functions | +See + + official list of standard definitions + + | +All Kubernetes versions | +
+ + Homogeneous Aggregate Literals + + | +- | +All Kubernetes versions | +
Default UTC Time Zone | +- | +All Kubernetes versions | +
+ + Eagerly Validate Declarations + + | +- | +All Kubernetes versions | +
Extended strings library, Version 1 | +
+ charAt , indexOf , lastIndexOf , lowerAscii ,
+ upperAscii , replace , split , join , substring ,
+ trim
+ |
+ All Kubernetes versions | +
Kubernetes list library | +See + + Kubernetes list library + + | +All Kubernetes versions | +
Kubernetes regex library | +See + + Kubernetes regex library + + | +All Kubernetes versions | +
Kubernetes URL library | +See + + Kubernetes URL library + + | +All Kubernetes versions | +
Kubernetes authorizer library | +See + + Kubernetes authorizer library + + | +All Kubernetes versions | +
Kubernetes quantity library | +See + + Kubernetes quantity library + + | +Kubernetes versions 1.29+ | +
CEL optional types | +See + + CEL optional types + + | +Kubernetes versions 1.29+ | +
CEL CrossTypeNumericComparisons | +See + + CEL CrossTypeNumericComparisons + + | +Kubernetes versions 1.29+ | +
CEL Expression | +Purpose | +
names.isSorted() | +Verify that a list of names is kept in alphabetical order | +
items.map(x, x.weight).sum() == 1.0 | +Verify that the "weights" of a list of objects sum to 1.0 | +
lowPriorities.map(x, x.priority).max() < highPriorities.map(x, x.priority).min() | +Verify that two sets of priorities do not overlap | +
names.indexOf('should-be-first') == 1 | +Require that the first name in a list if a specific value | +
CEL Expression | +Purpose | +
"abc 123".find('[0-9]+') | +Find the first number in a string | +
"1, 2, 3, 4".findAll('[0-9]+').map(x, int(x)).sum() < 100 | +Verify that the numbers in a string sum to less than 100 | +
CEL Expression | +Purpose | +
url('https://example.com:80/').getHost() | +Gets the 'example.com:80' host part of the URL | +
url('https://example.com/path with spaces/').getEscapedPath() | +Returns '/path%20with%20spaces/' | +
CEL Expression | +Purpose | +
---|---|
authorizer.group('').resource('pods').namespace('default').check('create').allowed() | +Returns true if the principal (user or service account) is allowed create pods in the 'default' namespace. | +
authorizer.path('/healthz').check('get').allowed() | +Checks if the principal (user or service account) is authorized to make HTTP GET requests to the /healthz API path. | +
authorizer.serviceAccount('default', 'myserviceaccount').resource('deployments').check('delete').allowed() | +Checks if the service account is authorized to delete deployments. | +
CEL Expression | +Purpose | +
---|---|
authorizer.group('').resource('pods').fieldSelector('spec.nodeName=mynode').check('list').allowed() | ++ Returns true if the principal (user or service account) is allowed + to list pods with the field selector spec.nodeName=mynode. + | +
authorizer.group('').resource('pods').labelSelector('example.com/mylabel=myvalue').check('list').allowed() | ++ Returns true if the principal (user or service account) is allowed + to list pods with the label selector example.com/mylabel=myvalue. + | +
Member Function | +CEL Return Value | +Description | +|
---|---|---|---|
isInteger() | +bool | +Returns true if and only if asInteger is safe to call without an error | +|
asInteger() | +int | ++ Returns a representation of the current value as an int64 if possible + or results in an error if conversion would result in overflowor loss of precision. + | +|
asApproximateFloat() | +float | ++ Returns a float64 representation of the quantity which may lose precision. + If the value of the quantity is outside the range of a float64, + +Inf/-Inf will be returned. | +|
sign() | +int | ++ Returns 1 if the quantity is positive, -1 if it is negative. + 0 if it is zero. + | +|
add(<Quantity>) | +Quantity | +Returns sum of two quantities | +|
add(<int>) | +Quantity | +Returns sum of quantity and an integer | ++ |
sub(<Quantity>) | +Quantity | +Returns difference between two quantities | +|
sub(<int>) | +Quantity | +Returns difference between a quantity and an integer | +|
isLessThan(<Quantity>) | +bool | +Returns true if and only if the receiver is less than the operand | +|
isGreaterThan(<Quantity>) | +bool | +Returns true if and only if the receiver is greater than the operand | +|
compareTo(<Quantity>) | +int | ++ Compares receiver to operand and returns 0 if they are equal, + 1 if the receiver is greater, or -1 if the receiver is less than the operand + | +
CEL Expression | +Purpose | +
---|---|
quantity("500000G").isInteger() | +Test if conversion to integer would throw an error | +
quantity("50k").asInteger() | +Precise conversion to integer | +
quantity("9999999999999999999999999999999999999G").asApproximateFloat() | +Lossy conversion to float | +
quantity("50k").add(quantity("20k")) | +Add two quantities | +
quantity("50k").sub(20000) | +Subtract an integer from a quantity | +
quantity("50k").add(20).sub(quantity("100k")).sub(-50000) | +Chain adding and subtracting integers and quantities | +
quantity("200M").compareTo(quantity("0.2G")) | +Compare two quantities | +
quantity("150Mi").isGreaterThan(quantity("100Mi")) | +Test if a quantity is greater than the receiver | +
quantity("50M").isLessThan(quantity("100M")) | +Test if a quantity is less than the receiver | +
OpenAPIv3 type | +CEL type | +
---|---|
'object' with Properties | ++ object / "message type" + (type(<object>) evaluates to + selfType<uniqueNumber>.path.to.object.from.self) + | +
'object' with additionalProperties | +map | +
'object' with x-kubernetes-embedded-type | ++ object / "message type", 'apiVersion', 'kind', 'metadata.name' + and 'metadata.generateName' are implicitly included in schema + | +
'object' with x-kubernetes-preserve-unknown-fields | +object / "message type", unknown fields are NOT accessible in CEL expression | +
x-kubernetes-int-or-string | ++ Union of int or string, + self.intOrString < 100 | self.intOrString == '50%' + evaluates to true for both 50 and "50%" + | +
'array' | +list | +
'array' with x-kubernetes-list-type=map | +list with map based Equality & unique key guarantees | +
'array' with x-kubernetes-list-type=set | +list with set based Equality & unique entry guarantees | +
'boolean' | +boolean | +
'number' (all formats) | +double | +
'integer' (all formats) | +int (64) | +
no equivalent | +uint (64) | +
'null' | +null_type | +
'string' | +string | +
'string' with format=byte (base64 encoded) | +bytes | +
'string' with format=date | +timestamp (google.protobuf.Timestamp) | +
'string' with format=datetime | +timestamp (google.protobuf.Timestamp) | +
'string' with format=duration | +duration (google.protobuf.Duration) | +
escape sequence | +property name equivalent | +
---|---|
__underscores__ | +__ | +
__dot__ | +. | +
__dash__ | +- | +
__slash__ | +/ | +
__{keyword}__ | ++ + CEL RESERVED keyword + + | +
property name | +rule with escaped property name | +
---|---|
namespace | +self.__namespace__ > 0 | +
x-prop | +self.x__dash__prop > 0 | +
redact_d | +self.redact__underscores__d > 0 | +
string | +self.startsWith('kube') | +
Release | +API Versions | +Preferred/Storage Version | +Notes | +
---|---|---|---|
X | +v1alpha1 | +v1alpha1 | ++ |
X+1 | +v1alpha2 | +v1alpha2 | +
+
|
+
X+2 | +v1beta1 | +v1beta1 | +
+
|
+
X+3 | +v1beta2, v1beta1 (deprecated) | +v1beta1 | +
+
|
+
X+4 | +v1beta2, v1beta1 (deprecated) | +v1beta2 | ++ |
X+5 | +v1, v1beta1 (deprecated), v1beta2 (deprecated) | +v1beta2 | +
+
|
+
X+6 | +v1, v1beta2 (deprecated) | +v1 | +
+
|
+
X+7 | +v1, v1beta2 (deprecated) | +v1 | ++ |
X+8 | +v2alpha1, v1 | +v1 | +
+
|
+
X+9 | +v2alpha2, v1 | +v1 | +
+
|
+
X+10 | +v2beta1, v1 | +v1 | +
+
|
+
X+11 | +v2beta2, v2beta1 (deprecated), v1 | +v1 | +
+
|
+
X+12 | +v2, v2beta2 (deprecated), v2beta1 (deprecated), v1 (deprecated) | +v1 | +
+
|
+
X+13 | +v2, v2beta1 (deprecated), v2beta2 (deprecated), v1 (deprecated) | +v2 | ++ |
X+14 | +v2, v2beta2 (deprecated), v1 (deprecated) | +v2 | +
+
|
+
X+15 | +v2, v1 (deprecated) | +v2 | +
+
|
+