| KUBERNETES(1)(kubernetes) | KUBERNETES(1)(kubernetes) |
نام (NAME)
kube-apiserver - سرور API کوبرنتیز
خلاصه دستور (SYNOPSIS)
kube-apiserver [OPTIONS]
توضیحات (DESCRIPTION)
سرور API کوبرنتیز دادههای مربوط به اشیاء API شامل podها، serviceها، replicationcontrollerها و سایر موارد را اعتبارسنجی و پیکربندی میکند. این سرور به عملیاتهای REST سرویس داده و به عنوان فرانتاندِ وضعیت مشترک کلاستر عمل میکند که تمامی مؤلفههای دیگر از طریق آن با یکدیگر تعامل دارند.
گزینهها (OPTIONS)
--admission-control=[] فرایند پذیرش (Admission) به دو فاز تقسیم میشود. در فاز نخست، تنها افزونههای پذیرش تغییردهنده (mutating) اجرا میشوند. در فاز دوم، تنها افزونههای پذیرش اعتبارسنج (validating) اجرا خواهند شد. نامهای موجود در فهرست زیر میتوانند نشاندهنده یک افزونه اعتبارسنج، یک افزونه تغییردهنده یا هر دو باشند. ترتیبی که افزونهها به این پرچم داده میشوند اهمیتی ندارد. فهرستی با کاما جدا شده از: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, CertificateApproval, CertificateSigning, CertificateSubjectRestriction, ClusterTrustBundleAttest, DefaultIngressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyServiceExternalIPs, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, JobValidation, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionPolicy, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeDeclaredFeatureValidator, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PodGroupProtection, PodGroupWorkloadExists, PodNodeSelector, PodResizeValidator, PodSecurity, PodTolerationRestriction, PodTopologyLabels, Priority, ResourceQuota, RuntimeClass, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook.
--admission-control-config-file="" فایلی حاوی پیکربندی کنترل پذیرش (admission control).
--advertise-address= نشانی IP که apiserver از طریق آن به اعضای کلاستر شناسانده میشود. این نشانی باید برای سایر اعضای کلاستر قابل دسترسی باشد. در صورت خالی بودن، مقدار --bind-address استفاده خواهد شد. اگر --bind-address نیز مشخص نشده باشد، از رابط پیشفرض میزبان استفاده میشود.
--aggregator-reject-forwarding-redirect=true رد کردن ارسال مجدد پاسخهای تغییر مسیر (redirect) توسط Aggregator به کلاینت.
--allow-metric-labels=[] نگاشت برچسب متریک (metric-label) به فهرست مجاز مقادیر آن برچسب. قالب کلید به صورت , است. قالب مقدار به صورت ,... برای نمونه: metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'.
--allow-metric-labels-manifest=""
مسیر فایل
مانیفستی
که شامل
نگاشت
فهرست مجاز
است. ساختار
فایل مشابه
پرچم --allow-metric-labels
است، به
عنوان مثال:
allowListMapping:
"metric1,label1": "value11,value12"
"metric2,label2": "" توجه
داشته
باشید که
پرچم --allow-metric-labels
تنظیمات
فایل
مانیفست را
بازنویسی
خواهد کرد.
--allow-privileged=false در صورت تنظیم روی true، اجرای کانتینرهای با دسترسی ویژه (privileged) مجاز خواهد بود. [پیشفرض=false]
--anonymous-auth=true درخواستهای ناشناس به درگاه (پورت) امنِ سرور API را فعال میکند. درخواستهایی که با روشهای احراز هویت دیگر رد نشوند، به عنوان درخواستهای ناشناس تلقی میشوند. درخواستهای ناشناس دارای نام کاربری system:anonymous و نام گروه system:unauthenticated هستند.
--api-audiences=[] شناسههای API. اعتبارسنجِ توکنِ ServiceAccount بررسی میکند توکنهایی که در برابر API استفاده میشوند، حداقل به یکی از این مخاطبان (audiences) مقید باشند. اگر پرچم --service-account-issuer پیکربندی شده باشد اما این پرچم مقداردهی نشده باشد، مقدار پیشفرض این فیلد فهرستی تکعضوی حاوی نشانی اینترنتی صادرکننده (issuer URL) خواهد بود.
--apiserver-count=1 تعداد apiserverهای در حال اجرا در کلاستر؛ باید یک عدد مثبت باشد. (زمانی کاربرد دارد که --endpoint-reconciler-type=master-count فعال باشد.)
--audit-log-batch-buffer-size=10000 اندازه بافر برای ذخیره رویدادها پیش از دستهبندی و نوشتن. فقط در حالت batch کاربرد دارد.
--audit-log-batch-max-size=1 حداکثر اندازه یک دسته (batch). فقط در حالت batch کاربرد دارد.
--audit-log-batch-max-wait=0s مدت زمان انتظار پیش از نوشتن اجباری دستهای که به حداکثر اندازه نرسیده است. فقط در حالت batch کاربرد دارد.
--audit-log-batch-throttle-burst=0 حداکثر تعداد درخواستهای ارسالی به طور همزمان، چنانچه پیشتر از ThrottleQPS استفاده نشده باشد. فقط در حالت batch کاربرد دارد.
--audit-log-batch-throttle-enable=false مشخص میکند که آیا کنترل نرخ (throttling) دستهبندی فعال باشد یا خیر. فقط در حالت batch کاربرد دارد.
--audit-log-batch-throttle-qps=0 حداکثر میانگین تعداد دستهها در هر ثانیه. فقط در حالت batch کاربرد دارد.
--audit-log-compress=false در صورت فعال بودن، فایلهای لاگ چرخشیافته (rotated) با gzip فشردهسازی میشوند.
--audit-log-format="json" قالب ذخیره لاگهای حسابرسی. مقدار "legacy" نشاندهنده قالب متنی تکخطی برای هر رویداد است. مقدار "json" بیانگر قالب ساختاریافته json است. قالبهای شناختهشده عبارتند از legacy و json.
--audit-log-maxage=366 حداکثر تعداد روزها برای نگهداری فایلهای لاگ حسابرسی قدیمی بر اساس برچسب زمانی درجشده در نام فایل آنها. تنظیم مقدار روی 0 به معنای حذف نشدن فایلهای لاگ حسابرسی قدیمی بر اساس سن آنهاست.
--audit-log-maxbackup=100 حداکثر تعداد فایلهای لاگ حسابرسی قدیمی برای نگهداری. تنظیم مقدار روی 0 به معنای عدم وجود محدودیت در تعداد فایلها است.
--audit-log-maxsize=100 حداکثر اندازه فایل لاگ حسابرسی به مگابایت پیش از آنکه چرخش (rotate) یابد. تنظیم روی 0 چرخش را غیرفعال میکند (توصیه نمیشود).
--audit-log-mode="blocking" راهبرد ارسال رویدادهای حسابرسی. مقدار blocking نشان میدهد که ارسال رویدادها باید پاسخهای سرور را مسدود (block) کند. مقدار batch سبب میشود که بکاند رویدادها را در بافر نگه داشته و بهصورت ناهمگام بنویسد. حالتهای شناختهشده عبارتند از batch، blocking و blocking-strict.
--audit-log-path="" در صورت تنظیم، تمامی درخواستهای ورودی به apiserver در این فایل ثبت خواهند شد. مقدار '-' به معنای خروجی استاندارد است.
--audit-log-truncate-enabled=false مشخص میکند که آیا کوتاهسازی رویداد و دسته فعال باشد یا خیر.
--audit-log-truncate-max-batch-size=10485760 حداکثر اندازه دسته ارسالی به بکاند زیرین. اندازه واقعی پس از سریالسازی میتواند چند صد بایت بیشتر باشد. اگر یک دسته از این محدودیت فراتر رود، به چندین دسته با اندازه کوچکتر تقسیم میشود.
--audit-log-truncate-max-event-size=102400 حداکثر اندازه رویداد حسابرسی ارسالی به بکاند زیرین. اگر اندازه رویداد بزرگتر از این مقدار باشد، ابتدا درخواست و پاسخ حذف میشوند و اگر این کار اندازه را به حد کافی کاهش ندهد، رویداد نادیده گرفته شده و دور انداخته میشود.
--audit-log-version="audit.k8s.io/v1" گروه و نسخه API مورد استفاده برای سریالسازی رویدادهای حسابرسی نوشتهشده در لاگ.
--audit-policy-file="" مسیر فایلی که پیکربندی سیاستهای حسابرسی (audit policy) را تعریف میکند.
--audit-webhook-batch-buffer-size=10000 اندازه بافر برای ذخیره رویدادها پیش از دستهبندی و نوشتن. فقط در حالت batch کاربرد دارد.
--audit-webhook-batch-initial-backoff=10s مدت زمان انتظار پیش از تلاش دوباره برای نخستین درخواست ناموفق.
--audit-webhook-batch-max-size=400 حداکثر اندازه یک دسته. فقط در حالت batch کاربرد دارد.
--audit-webhook-batch-max-wait=30s مدت زمان انتظار پیش از نوشتن اجباری دستهای که به حداکثر اندازه نرسیده است. فقط در حالت batch کاربرد دارد.
--audit-webhook-batch-throttle-burst=15 حداکثر تعداد درخواستهای ارسالی به طور همزمان، چنانچه پیشتر از ThrottleQPS استفاده نشده باشد. فقط در حالت batch کاربرد دارد.
--audit-webhook-batch-throttle-enable=true مشخص میکند که آیا کنترل نرخ (throttling) دستهبندی فعال باشد یا خیر. فقط در حالت batch کاربرد دارد.
--audit-webhook-batch-throttle-qps=10 حداکثر میانگین تعداد دستهها در هر ثانیه. فقط در حالت batch کاربرد دارد.
--audit-webhook-config-file="" مسیر فایلی با ساختار kubeconfig که پیکربندی وبهوک حسابرسی (audit webhook) را تعیین میکند.
--audit-webhook-initial-backoff=10s مدت زمان انتظار پیش از تلاش دوباره برای نخستین درخواست ناموفق.
--audit-webhook-mode="batch" راهبرد ارسال رویدادهای حسابرسی. مقدار blocking نشان میدهد که ارسال رویدادها باید ارسال پاسخهای سرور را مسدود کند. مقدار batch سبب میشود که بکاند رویدادها را در بافر نگه داشته و بهصورت ناهمگام بنویسد. حالتهای شناختهشده عبارتند از batch، blocking و blocking-strict.
--audit-webhook-truncate-enabled=false مشخص میکند که آیا کوتاهسازی رویداد و دسته فعال باشد یا خیر..PP --audit-webhook-truncate-max-batch-size=10485760 حداکثر اندازه دستهای (batch) که به backend زیرین ارسال میشود. اندازه سریالسازیشده واقعی میتواند چندصد بایت بیشتر باشد. اگر یک دسته از این محدودیت فراتر رود، به چندین دسته با اندازه کوچکتر تقسیم میشود.
--audit-webhook-truncate-max-event-size=102400 حداکثر اندازه رویداد بازرسی (audit event) ارسالشده به backend زیرین. اگر اندازه یک رویداد بزرگتر از این مقدار باشد، ابتدا درخواست و پاسخ حذف میشوند و اگر این کار اندازه را به میزان کافی کاهش ندهد، رویداد نادیده گرفته میشود (دور انداخته میشود).
--audit-webhook-version="audit.k8s.io/v1" گروه و نسخه API مورد استفاده برای سریالسازی رویدادهای بازرسی نوشتهشده در webhook.
--authentication-config="" فایل حاوی پیکربندی احراز هویت (Authentication Configuration) جهت پیکربندی احراز هویتکننده توکن JWT یا احراز هویتکننده ناشناس (anonymous). نیازمند feature gate با نام StructuredAuthenticationConfiguration است. اگر فایل، احراز هویتکننده توکن JWT را پیکربندی کند، این پرچم با پرچمهای --oidc-* مانعةالجمع است. اگر فایل، احراز هویتکننده Anonymous را پیکربندی کند، این پرچم با --anonymous-auth مانعةالجمع است.
--authentication-token-webhook-cache-ttl=2m0s مدتزمان کش کردن پاسخهای دریافتی از احراز هویتکننده توکن webhook.
--authentication-token-webhook-config-file="" فایل حاوی پیکربندی webhook برای احراز هویت توکن در قالب kubeconfig. سرور API سرویس راه دور را برای تعیین احراز هویت توکنهای حامل (bearer tokens) پرسوجو خواهد کرد.
--authentication-token-webhook-version="v1beta1" نسخه API مربوط به authentication.k8s.io TokenReview جهت ارسال به و انتظار دریافت از webhook.
--authorization-config="" فایل حاوی پیکربندی مجوزدهی (Authorization Configuration) جهت پیکربندی زنجیره مجوزدهنده. این پرچم با سایر پرچمهای --authorization-mode و --authorization-webhook-* مانعةالجمع است.
--authorization-mode=[] فهرست مرتبشدهای از پلاگینها برای انجام مجوزدهی روی پورت امن. در صورت عدم استفاده از --authorization-config، مقدار پیشفرض AlwaysAllow است. فهرستی جداشده با کاما از: AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node.
--authorization-policy-file="" فایل حاوی خطمشی مجوزدهی در قالب خطبهخط json، مورد استفاده با --authorization-mode=ABAC روی پورت امن.
--authorization-webhook-cache-authorized-ttl=5m0s مدتزمان کش کردن پاسخهای «مجاز» (authorized) از سوی مجوزدهنده webhook.
--authorization-webhook-cache-unauthorized-ttl=30s مدتزمان کش کردن پاسخهای «غیرمجاز» (unauthorized) از سوی مجوزدهنده webhook.
--authorization-webhook-config-file="" فایل حاوی پیکربندی webhook در قالب kubeconfig، مورد استفاده با --authorization-mode=Webhook. سرور API سرویس راه دور را برای تعیین دسترسی روی پورت امن API server پرسوجو خواهد کرد.
--authorization-webhook-version="v1beta1" نسخه API مربوط به authorization.k8s.io SubjectAccessReview جهت ارسال به و انتظار دریافت از webhook.
--bind-address=0.0.0.0 نشانی IP برای گوش دادن به پورت --secure-port. رابط(های) مرتبط باید برای بقیه کلاستر و توسط کلاینتهای CLI/وب در دسترس باشند. اگر خالی یا یک نشانی نامشخص (0.0.0.0 یا ::) باشد، تمام رابطها و خانوادههای نشانی IP استفاده خواهند شد.
--cert-dir="/var/run/kubernetes" پوشهای که گواهیهای TLS در آن قرار دارند. اگر --tls-cert-file و --tls-private-key-file مشخص شده باشند، این پرچم نادیده گرفته میشود.
--client-ca-file="" اگر تنظیم شود، هر درخواستی که گواهی کلاینت امضاشده توسط یکی از مراجع (authorities) موجود در client-ca-file را ارائه دهد، با هویتی متناظر با CommonName موجود در گواهی کلاینت احراز هویت میشود.
--contention-profiling=false فعالسازی پروفایلگیری رقابت بر سر منابع (block profiling)، در صورتی که پروفایلگیری فعال باشد
--coordinated-leadership-lease-duration=15s مدت زمان اجاره (lease) مورد استفاده برای Coordinated Leader Election.
--coordinated-leadership-renew-deadline=10s مهلت زمانی برای تمدید اجاره Coordinated Leader Election.
--coordinated-leadership-retry-period=2s دوره تلاش مجدد برای تمدید اجاره Coordinated Leader Election.
--cors-allowed-origins=[] فهرستی از مبداهای مجاز برای CORS که با کاما از هم جدا شدهاند. مبدا مجاز میتواند یک عبارت باقاعده (regular expression) برای پشتیبانی از تطبیق زیردامنه باشد. اگر این فهرست خالی باشد CORS فعال نخواهد شد. لطفاً اطمینان حاصل کنید که هر عبارت با لنگر انداختن به ابتدا با '^' یا قرار دادن پیشوند '//'، و با لنگر انداختن به انتها با '$' یا قرار دادن پسوند جداکننده پورت ':'، با کل نام میزبان تطابق پیدا کند. نمونههایی از عبارتهای معتبر عبارتند از '//example.com(:|$)' و '^https://example.com(:|$)'
--debug-socket-path="" استفاده از یک سوکت حفاظتنشده دامنهی یونیکس (بدون authn/authz) با مسیر دادهشده جهت پروفایلگیری
--default-not-ready-toleration-seconds=300 نشاندهنده مقدار tolerationSeconds مربوط به رواداری (toleration) برای notReady:NoExecute است که به طور پیشفرض به هر pod که از پیش چنین رواداریای ندارد اضافه میشود.
--default-unreachable-toleration-seconds=300 نشاندهنده مقدار tolerationSeconds مربوط به رواداری (toleration) برای unreachable:NoExecute است که به طور پیشفرض به هر pod که از پیش چنین رواداریای ندارد اضافه میشود.
--default-watch-cache-size=100 اندازه پیشفرض حافظه موقت پایش (watch cache). اگر صفر باشد، کش پایش برای منابعی که اندازه پایش پیشفرضی برای آنها تنظیم نشده است غیرفعال خواهد شد.
--delete-collection-workers=1 تعداد پردازشهای کارگر (workers) ایجادشده برای فراخوانی DeleteCollection. اینها برای افزایش سرعت پاکسازی namespace به کار میروند.
--disable-admission-plugins=[] پلاگینهای پذیرش (admission plugins) که باید غیرفعال شوند با اینکه در فهرست پیشفرض پلاگینهای فعال قرار دارند (NamespaceLifecycle, LimitRanger, ServiceAccount, TaintNodesByCondition, PodSecurity, Priority, DefaultTolerationSeconds, DefaultStorageClass, StorageObjectInUseProtection, PodGroupProtection, PersistentVolumeClaimResize, RuntimeClass, CertificateApproval, CertificateSigning, ClusterTrustBundleAttest, CertificateSubjectRestriction, DefaultIngressClass, PodTopologyLabels, PodGroupWorkloadExists, NodeDeclaredFeatureValidator, JobValidation, PodResizeValidator, MutatingAdmissionPolicy, MutatingAdmissionWebhook, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook, ResourceQuota). فهرستی جداشده با کاما از پلاگینهای پذیرش: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, CertificateApproval, CertificateSigning, CertificateSubjectRestriction, ClusterTrustBundleAttest, DefaultIngressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyServiceExternalIPs, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, JobValidation, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionPolicy, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeDeclaredFeatureValidator, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PodGroupProtection, PodGroupWorkloadExists, PodNodeSelector, PodResizeValidator, PodSecurity, PodTolerationRestriction, PodTopologyLabels, Priority, ResourceQuota, RuntimeClass, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook. ترتیب قرارگیری پلاگینها در این پرچم اهمیتی ندارد.
--disable-http2-serving=false اگر true باشد، سرویسدهی HTTP2 غیرفعال خواهد شد [پیشفرض=false]
--disabled-metrics=[] این پرچم یک راه گریز اضطراری برای معیارهایی (metrics) که رفتار نادرست دارند فراهم میکند. برای غیرفعال کردن یک معیار، باید نام کامل واجد شرایط (fully qualified) آن را ارائه دهید. سلب مسئولیت: اولویت غیرفعال کردن معیارها بالاتر از نمایش معیارهای پنهان است.
--egress-selector-config-file="" فایل حاوی پیکربندی egress selector برای apiserver.
--emulated-version=[] نسخههایی که مؤلفههای مختلف قابلیتهای خود (APIها، ویژگیها، ...) را بر اساس آنها شبیهسازی میکنند. اگر تنظیم شود، مؤلفه رفتار این نسخه را به جای نسخه باینری زیرین شبیهسازی خواهد کرد. قالب نسخه تنها میتواند major.minor باشد؛ به عنوان مثال: '--emulated-version=wardle=1.2,kube=1.31'. گزینهها عبارتند از: kube=1.33..1.36(پیشفرض:1.36) اگر مؤلفه مشخص نشده باشد، مقدار پیشفرض "kube" خواهد بود
--emulation-forward-compatible=false اگر true باشد، برای هر یک از APIهای بتا یا بالاتر (+beta) که به طور پیشفرض یا توسط --runtime-config در نسخه شبیهسازیشده فعال هستند، نسخههای آینده آنها با اولویت/پایداری بالاتر به طور خودکار فعال خواهند شد حتی اگر بعد از نسخه شبیهسازیشده معرفی شده باشند. این گزینه فقط زمانی میتواند روی true تنظیم شود که نسخه شبیهسازی از نسخه باینری پایینتر باشد.
--enable-admission-plugins=[] پلاگینهای پذیرش (admission plugins) که باید علاوه بر موارد فعال پیشفرض، فعال شوند (NamespaceLifecycle, LimitRanger, ServiceAccount, TaintNodesByCondition, PodSecurity, Priority, DefaultTolerationSeconds, DefaultStorageClass, StorageObjectInUseProtection, PodGroupProtection, PersistentVolumeClaimResize, RuntimeClass, CertificateApproval, CertificateSigning, ClusterTrustBundleAttest, CertificateSubjectRestriction, DefaultIngressClass, PodTopologyLabels, PodGroupWorkloadExists, NodeDeclaredFeatureValidator, JobValidation, PodResizeValidator, MutatingAdmissionPolicy, MutatingAdmissionWebhook, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook, ResourceQuota). فهرستی جداشده با کاما از پلاگینهای پذیرش: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, CertificateApproval, CertificateSigning, CertificateSubjectRestriction, ClusterTrustBundleAttest, DefaultIngressClass, DefaultStorageClass, DefaultTolerationSeconds, DenyServiceExternalIPs, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, JobValidation, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionPolicy, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeDeclaredFeatureValidator, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PodGroupProtection, PodGroupWorkloadExists, PodNodeSelector, PodResizeValidator, PodSecurity, PodTolerationRestriction, PodTopologyLabels, Priority, ResourceQuota, RuntimeClass, ServiceAccount, StorageObjectInUseProtection, TaintNodesByCondition, ValidatingAdmissionPolicy, ValidatingAdmissionWebhook. ترتیب قرارگیری پلاگینها در این پرچم اهمیتی ندارد.
--enable-aggregator-routing=false مسیریابی تجمیعکننده (aggregator routing) را به گونهای فعال میکند که درخواستها را به جای IP کلاستر، به IP نقاط انتهایی (endpoints IP) هدایت کند.
--enable-bootstrap-token-auth=false فعالسازی جهت مجاز کردن secretهای از نوع 'bootstrap.kubernetes.io/token' در namespace با نام 'kube-system' برای استفاده در احراز هویت TLS bootstrapping.
--enable-garbage-collector=true زبالهروب عمومی (garbage collector) را فعال میکند. باید با پرچم متناظر در kube-controller-manager همگامسازی شده باشد.
--enable-logs-handler=false اگر true باشد، یک مدیریتکننده /logs برای گزارشهای لاگ apiserver نصب میکند.
--enable-priority-and-fairness=true اگر true باشد، پردازشگر max-in-flight را با یک نسخه بهبودیافته جایگزین میکند که صفبندی و ارسال را با اولویت و عدالت مدیریت میکند
--encryption-provider-config="" فایل حاوی پیکربندی برای ارائهدهندگان رمزنگاری (encryption providers) جهت استفاده در ذخیرهسازی secretها در etcd
--encryption-provider-config-automatic-reload=false تعیین میکند که آیا فایل مشخصشده توسط --encryption-provider-config در صورت تغییر محتویات دیسک باید به طور خودکار بازخوانی شود یا خیر. تنظیم این مقدار روی true، امکان شناسایی منحصربهفرد پلاگینهای متمایز KMS را از طریق نقاط پایانی healthz سرور API غیرفعال میکند.
--endpoint-reconciler-type="lease" استفاده از یک تطبیقدهنده نقطه پایانی (endpoint reconciler) از میان (master-count, lease, none)؛ گزینه master-count منسوخ شده است و در نسخههای آینده حذف خواهد شد.
--etcd-cafile="" فایل مرجع صدور گواهی SSL (SSL Certificate Authority) مورد استفاده برای ایمنسازی ارتباط با etcd.
--etcd-certfile="" فایل گواهی SSL مورد استفاده برای ایمنسازی ارتباط با etcd..PP --etcd-compaction-interval=5m0s فاصله زمانی درخواستهای فشردهسازی (compaction). اگر 0 باشد، ارسال درخواست فشردهسازی از سوی apiserver غیرفعال میشود.
--etcd-count-metric-poll-period=1m0s بسامد نظرسنجی از etcd برای آگاهی از تعداد منابع در هر نوع. مقدار 0 جمعآوری سنجه را غیرفعال میکند.
--etcd-db-metric-poll-interval=30s فاصله زمانی درخواستها برای نظرسنجی از etcd و بهروزرسانی سنجه. مقدار 0 جمعآوری سنجه را غیرفعال میکند.
--etcd-healthcheck-timeout=2s مهلت زمانی (timeout) مورد استفاده هنگام بررسی سلامت etcd.
--etcd-keyfile="" فایل کلید SSL مورد استفاده برای ایمنسازی ارتباطات etcd.
--etcd-prefix="/registry" پیشوندی که به ابتدای تمامی مسیرهای منابع در etcd اضافه میشود.
--etcd-readycheck-timeout=2s مهلت زمانی (timeout) مورد استفاده هنگام بررسی آمادهبهکار بودن etcd.
--etcd-servers=[] فهرستی از سرورهای etcd برای اتصال (scheme://ip:port)، جدا شده با کاما.
--etcd-servers-overrides=[] بازنویسی سرورهای etcd به ازای هر منبع، جدا شده با کاما. قالب هر بازنویسی اختصاصی: group/resource#servers است، که در آن servers نشانیهای اینترنتی (URLs) جدا شده با نقطهویرگول هستند. توجه داشته باشید که این مورد تنها برای منابعی اعمال میشود که درون باینری این سرور کامپایل شدهاند. برای مثال: "/pods#http://etcd4:2379;http://etcd5:2379,/events#http://etcd6:2379"
--event-ttl=1h0m0s مدت زمانی که رویدادها نگهداری میشوند.
--external-hostname="" نام میزبان (hostname) مورد استفاده هنگام تولید URLهای بیرونی برای این مستر (مانند Swagger API Docs یا OpenID Discovery).
--feature-gates= فهرستی جدا شده با کاما از جفتهای component:key=value که درگاههای ویژگی (feature gates) را برای قابلیتهای آلفا/آزمایشی مؤلفههای مختلف شرح میدهد. اگر مؤلفه مشخص نشده باشد، بهطور پیشفرض "kube" در نظر گرفته میشود. این پرچم میتواند به دفعات فراخوانی شود. برای مثال: --feature-gates 'wardle:featureA=true,wardle:featureB=false' --feature-gates 'kube:featureC=true' گزینهها عبارتند از: kube:APIResponseCompression=true|false (BETA - default=true) kube:APIServerIdentity=true|false (BETA - default=true) kube:APIServingWithRoutine=true|false (ALPHA - default=false) kube:AllAlpha=true|false (ALPHA - default=false) kube:AllBeta=true|false (BETA - default=false) kube:AllowParsingUserUIDFromCertAuth=true|false (BETA - default=true) kube:AllowUnsafeMalformedObjectDeletion=true|false (ALPHA - default=false) kube:AtomicFIFO=true|false (BETA - default=true) kube:AuthorizePodWebsocketUpgradeCreatePermission=true|false (BETA - default=true) kube:CBORServingAndStorage=true|false (ALPHA - default=false) kube:CPUManagerPolicyAlphaOptions=true|false (ALPHA - default=false) kube:CPUManagerPolicyBetaOptions=true|false (BETA - default=true) kube:CRDObservedGenerationTracking=true|false (BETA - default=true) kube:CRIListStreaming=true|false (ALPHA - default=false) kube:CSIVolumeHealth=true|false (ALPHA - default=false) kube:ClearingNominatedNodeNameAfterBinding=true|false (BETA - default=true) kube:ClientsAllowCARotation=true|false (BETA - default=true) kube:ClientsAllowCBOR=true|false (ALPHA - default=false) kube:ClientsAllowTLSCacheGC=true|false (BETA - default=true) kube:ClientsPreferCBOR=true|false (ALPHA - default=false) kube:CloudControllerManagerWatchBasedRoutesReconciliation=true|false (ALPHA - default=false) kube:CloudControllerManagerWebhook=true|false (ALPHA - default=false) kube:ClusterTrustBundle=true|false (BETA - default=false) kube:ClusterTrustBundleProjection=true|false (BETA - default=false) kube:ComponentFlagz=true|false (BETA - default=true) kube:ComponentStatusz=true|false (BETA - default=true) kube:ConcurrentWatchObjectDecode=true|false (BETA - default=false) kube:ConstrainedImpersonation=true|false (BETA - default=true) kube:ContainerCheckpoint=true|false (BETA - default=true) kube:ContainerRestartRules=true|false (BETA - default=true) kube:ContainerStopSignals=true|false (ALPHA - default=false) kube:ContextualLogging=true|false (BETA - default=true) kube:ControllerManagerReleaseLeaderElectionLockOnExit=true|false (ALPHA - default=false) kube:CoordinatedLeaderElection=true|false (BETA - default=false) kube:CrossNamespaceVolumeDataSource=true|false (ALPHA - default=false) kube:DRAConsumableCapacity=true|false (BETA - default=true) kube:DRADeviceBindingConditions=true|false (BETA - default=true) kube:DRADeviceTaintRules=true|false (BETA - default=false) kube:DRADeviceTaints=true|false (BETA - default=true) kube:DRAExtendedResource=true|false (BETA - default=true) kube:DRAListTypeAttributes=true|false (ALPHA - default=false) kube:DRANodeAllocatableResources=true|false (ALPHA - default=false) kube:DRAPartitionableDevices=true|false (BETA - default=true) kube:DRAResourceClaimDeviceStatus=true|false (BETA - default=true) kube:DRAResourceClaimGranularStatusAuthorization=true|false (BETA - default=true) kube:DRAResourcePoolStatus=true|false (ALPHA - default=false) kube:DRASchedulerFilterTimeout=true|false (BETA - default=true) kube:DRAWorkloadResourceClaims=true|false (ALPHA - default=false) kube:DeclarativeValidationBeta=true|false (BETA - default=true) kube:DeploymentReplicaSetTerminatingReplicas=true|false (BETA - default=true) kube:DetectCacheInconsistency=true|false (BETA - default=true) kube:EnvFiles=true|false (BETA - default=true) kube:EventedPLEG=true|false (ALPHA - default=false) kube:ExtendWebSocketsToKubelet=true|false (BETA - default=true) kube:GangScheduling=true|false (ALPHA - default=false) kube:GenericWorkload=true|false (ALPHA - default=false) kube:GracefulNodeShutdown=true|false (BETA - default=true) kube:GracefulNodeShutdownBasedOnPodPriority=true|false (BETA - default=true) kube:HPAConfigurableTolerance=true|false (BETA - default=true) kube:HPAScaleToZero=true|false (ALPHA - default=false) kube:HostnameOverride=true|false (BETA - default=true) kube:ImageVolumeWithDigest=true|false (ALPHA - default=false) kube:InOrderInformersBatchProcess=true|false (BETA - default=true) kube:InPlacePodLevelResourcesVerticalScaling=true|false (BETA - default=true) kube:InPlacePodVerticalScalingExclusiveCPUs=true|false (ALPHA - default=false) kube:InPlacePodVerticalScalingExclusiveMemory=true|false (ALPHA - default=false) kube:InPlacePodVerticalScalingInitContainers=true|false (BETA - default=true) kube:KubeletCrashLoopBackOffMax=true|false (BETA - default=true) kube:KubeletEnsureSecretPulledImages=true|false (BETA - default=true) kube:KubeletInUserNamespace=true|false (ALPHA - default=false) kube:KubeletSeparateDiskGC=true|false (BETA - default=true) kube:KubeletServiceAccountTokenForCredentialProviders=true|false (BETA - default=true) kube:ListFromCacheSnapshot=true|false (BETA - default=true) kube:LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (BETA - default=false) kube:LoggingAlphaOptions=true|false (ALPHA - default=false) kube:LoggingBetaOptions=true|false (BETA - default=true) kube:ManifestBasedAdmissionControlConfig=true|false (ALPHA - default=false) kube:MatchLabelKeysInPodTopologySpread=true|false (BETA - default=true) kube:MatchLabelKeysInPodTopologySpreadSelectorMerge=true|false (BETA - default=true) kube:MaxUnavailableStatefulSet=true|false (BETA - default=false) kube:MemoryQoS=true|false (ALPHA - default=false) kube:MutablePVNodeAffinity=true|false (ALPHA - default=false) kube:MutablePodResourcesForSuspendedJobs=true|false (BETA - default=true) kube:MutableSchedulingDirectivesForSuspendedJobs=true|false (BETA - default=true) kube:NativeHistograms=true|false (ALPHA - default=false) kube:NodeDeclaredFeatures=true|false (BETA - default=true) kube:NominatedNodeNameForExpectation=true|false (BETA - default=true) kube:OpenAPIEnums=true|false (BETA - default=true) kube:OpportunisticBatching=true|false (BETA - default=true) kube:PLEGOnDemandRelist=true|false (BETA - default=true) kube:PersistentVolumeClaimUnusedSinceTime=true|false (ALPHA - default=false) kube:PodAndContainerStatsFromCRI=true|false (ALPHA - default=false) kube:PodCertificateRequest=true|false (BETA - default=false) kube:PodDeletionCost=true|false (BETA - default=true) kube:PodLevelResourceManagers=true|false (ALPHA - default=false) kube:PodLevelResources=true|false (BETA - default=true) kube:PodLogsQuerySplitStreams=true|false (ALPHA - default=false) kube:PodReadyToStartContainersCondition=true|false (BETA - default=true) kube:PodTopologyLabelsAdmission=true|false (BETA - default=true) kube:PodsAPI=true|false (ALPHA - default=false) kube:PortForwardWebsockets=true|false (BETA - default=true) kube:PreventStaticPodAPIReferences=true|false (BETA - default=true) kube:QOSReserved=true|false (ALPHA - default=false) kube:ReduceDefaultCrashLoopBackOffDecay=true|false (ALPHA - default=false) kube:RelaxedServiceNameValidation=true|false (BETA - default=true) kube:ReloadKubeletClientCAFile=true|false (BETA - default=true) kube:ReloadKubeletServerCertificateFile=true|false (BETA - default=true) kube:RemoteRequestHeaderUID=true|false (BETA - default=true) kube:ResourceHealthStatus=true|false (BETA - default=true) kube:ResourceHealthStatusMessage=true|false (BETA - default=true) kube:RestartAllContainersOnContainerExits=true|false (BETA - default=true) kube:RotateKubeletServerCertificate=true|false (BETA - default=true) kube:RuntimeClassInImageCriApi=true|false (ALPHA - default=false) kube:SELinuxMount=true|false (BETA - default=false) kube:SchedulerAsyncAPICalls=true|false (BETA - default=false) kube:SchedulerAsyncPreemption=true|false (BETA - default=true) kube:SchedulerPopFromBackoffQ=true|false (BETA - default=true) kube:ServiceAccountNodeAudienceRestriction=true|false (BETA - default=true) kube:ShardedListAndWatch=true|false (ALPHA - default=false) kube:SizeBasedListCostEstimate=true|false (BETA - default=true) kube:StaleControllerConsistencyDaemonSet=true|false (BETA - default=true) kube:StaleControllerConsistencyJob=true|false (BETA - default=true) kube:StaleControllerConsistencyReplicaSet=true|false (BETA - default=true) kube:StaleControllerConsistencyStatefulSet=true|false (BETA - default=true) kube:StatefulSetSemanticRevisionComparison=true|false (BETA - default=true) kube:StorageCapacityScoring=true|false (ALPHA - default=false) kube:StorageVersionAPI=true|false (ALPHA - default=false) kube:StorageVersionHash=true|false (BETA - default=true) kube:StorageVersionMigrator=true|false (BETA - default=false) kube:StrictIPCIDRValidation=true|false (BETA - default=true) kube:StructuredAuthenticationConfigurationEgressSelector=true|false (BETA - default=true) kube:StructuredAuthenticationConfigurationJWKSMetrics=true|false (BETA - default=true) kube:TaintTolerationComparisonOperators=true|false (ALPHA - default=false) kube:TokenRequestServiceAccountUIDValidation=true|false (BETA - default=true) kube:TopologyAwareWorkloadScheduling=true|false (ALPHA - default=false) kube:TopologyManagerPolicyAlphaOptions=true|false (ALPHA - default=false) kube:TopologyManagerPolicyBetaOptions=true|false (BETA - default=true) kube:TranslateStreamCloseWebsocketRequests=true|false (BETA - default=true) kube:UnauthenticatedHTTP2DOSMitigation=true|false (BETA - default=true) kube:UnknownVersionInteroperabilityProxy=true|false (BETA - default=true) kube:UnlockWhileProcessingFIFO=true|false (BETA - default=true) kube:UserNamespacesHostNetworkSupport=true|false (ALPHA - default=false) kube:VolumeLimitScaling=true|false (ALPHA - default=false) kube:WatchCacheInitializationPostStartHook=true|false (BETA - default=true) kube:WatchList=true|false (BETA - default=true) kube:WatchListClient=true|false (BETA - default=true) kube:WindowsCPUAndMemoryAffinity=true|false (ALPHA - default=false) kube:WindowsGracefulNodeShutdown=true|false (BETA - default=true) kube:WorkloadAwarePreemption=true|false (ALPHA - default=false) kube:WorkloadWithJob=true|false (ALPHA - default=false).PP --goaway-chance=0 برای جلوگیری از گیر افتادن کلاینتهای HTTP/2 روی یک apiserver واحد، اتصال را بهطور تصادفی میبندد (GOAWAY). سایر درخواستهای در حال انجام (in-flight) کلاینت تحت تأثیر قرار نخواهند گرفت، و کلاینت دوباره متصل میشود و احتمالاً پس از عبور مجدد از توزیعکننده بار (load balancer)، به یک apiserver دیگر هدایت خواهد شد. این آرگومان کسری از درخواستها را که برای آنها یک GOAWAY ارسال میشود، مشخص میکند. خوشههای دارای یک apiserver واحد، یا خوشههایی که از توزیعکننده بار استفاده نمیکنند، نباید این گزینه را فعال کنند. کمینه 0 (خاموش)، بیشینه 0.02 (۱/۵۰ درخواستها) است؛ مقدار 0.001 (۱/۱۰۰۰) به عنوان نقطه شروع پیشنهاد میشود.
-h, --help=false راهنمای kube-apiserver
--http2-max-streams-per-connection=0 محدودیتی که سرور برای حداکثر تعداد جریانها (streams) در یک اتصال HTTP/2 به کلاینتها اختصاص میدهد. صفر به معنای استفاده از مقدار پیشفرض golang است.
--kubelet-certificate-authority="" مسیر فایل گواهی برای مرجع صدور گواهی (certificate authority).
--kubelet-client-certificate="" مسیر فایل گواهی کلاینت برای TLS.
--kubelet-client-key="" مسیر فایل کلید کلاینت برای TLS.
--kubelet-port=10250 منسوخشده: پورت kubelet.
--kubelet-preferred-address-types=[Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP] فهرست اولویتبندی انواع آدرس گره (NodeAddressTypes) برای استفاده در اتصالات kubelet.
--kubelet-read-only-port=10255 منسوخشده: پورت فقطخواندنی kubelet.
--kubelet-timeout=5s مهلت زمانی برای عملیاتهای kubelet.
--kubernetes-service-node-port=0 اگر غیرصفر باشد، سرویس مستر Kubernetes (که توسط apiserver ایجاد/نگهداری میشود) از نوع NodePort بوده و از این مقدار به عنوان پورت استفاده خواهد کرد. در صورت صفر بودن، سرویس مستر Kubernetes از نوع ClusterIP خواهد بود.
--lease-reuse-duration-seconds=60 مدت زمان بر حسب ثانیه که هر lease مجدداً استفاده میشود. مقداری کمتر میتواند مانع از استفاده مجدد تعداد زیادی از شیءها از یک lease یکسان شود. توجه داشته باشید که مقداری بسیار کوچک ممکن است باعث بروز مشکلات کارایی در لایه ذخیرهسازی شود.
--livez-grace-period=0s این گزینه نشاندهنده حداکثر مدت زمانی است که باید طول بکشد تا apiserver توالی راهاندازی خود را کامل کرده و فعال (live) شود. از زمان شروع به کار apiserver تا سپری شدن این مدت، /livez فرض میکند که هوکهای post-start ناتمام با موفقیت به پایان خواهند رسید و بنابراین true را برمیگرداند.
--log-flush-frequency=5s حداکثر تعداد ثانیهها بین تخلیههای متوالی لاگ (log flushes)
--log-text-info-buffer-size=0 [آلفا] در قالب متنی با جریانهای خروجی تفکیکشده، پیامهای info میتوانند برای مدتی بافر شوند تا کارایی افزایش یابد. مقدار پیشفرض صفر بایت بافرسازی را غیرفعال میکند. اندازه میتواند بر حسب تعداد بایتها (512)، مضارب 1000 (1K)، مضارب 1024 (2Ki)، یا توانهایی از آنها (3M, 4G, 5Mi, 6Gi) تعیین شود. برای استفاده از این، گیت ویژگی LoggingAlphaOptions را فعال کنید.
--log-text-split-stream=false [آلفا] در قالب متنی، پیامهای خطا در stderr و پیامهای info در stdout نوشته میشوند. مقدار پیشفرض نوشتن در یک جریان واحد در stdout است. برای استفاده از این، گیت ویژگی LoggingAlphaOptions را فعال کنید.
--logging-format="text" قالب گزارشگیری را مشخص میکند. قالبهای مجاز: "text".
--max-connection-bytes-per-sec=0 اگر غیرصفر باشد، پهنای باند هر اتصال کاربر را به این مقدار بایت در ثانیه محدود (throttle) میکند. در حال حاضر تنها برای درخواستهای طولانیمدت (long-running) اعمال میشود.
--max-mutating-requests-inflight=200 در صورت فعال بودن --enable-priority-and-fairness، این مقدار و --max-requests-inflight با یکدیگر جمع میشوند تا حد همزمانی کل سرور (که باید عددی مثبت باشد) را تعیین کنند. در غیر این صورت، این پرچم حداکثر تعداد درخواستهای تغییردهنده (mutating) در حال انجام را محدود میکند، و مقدار صفر این محدودیت را بهطور کامل غیرفعال میسازد.
--max-requests-inflight=400 در صورت فعال بودن --enable-priority-and-fairness، این مقدار و --max-mutating-requests-inflight با یکدیگر جمع میشوند تا حد همزمانی کل سرور (که باید عددی مثبت باشد) را تعیین کنند. در غیر این صورت، این پرچم حداکثر تعداد درخواستهای غیرتغییردهنده (non-mutating) در حال انجام را محدود میکند، و مقدار صفر این محدودیت را بهطور کامل غیرفعال میسازد.
--min-compatibility-version=[] حداقل نسخه مؤلفههای control plane که سرور باید با آنها سازگار باشد. باید کمتر یا مساوی با emulated-version باشد. قالب نسخه تنها میتواند به صورت major.minor باشد، به عنوان مثال: '--min-compatibility-version=wardle=1.2,kube=1.31'. گزینهها عبارتند از: kube=1.33..1.36(پیشفرض:1.35) در صورت عدم مشخص شدن مؤلفه، به صورت پیشفرض "kube" خواهد بود
--min-request-timeout=1800 یک فیلد اختیاری که حداقل تعداد ثانیههایی را مشخص میکند که یک هندلر باید پیش از اتمام مهلت زمانی (timeout)، درخواست را باز نگه دارد. در حال حاضر فقط توسط هندلر درخواستهای watch پشتیبانی میشود، که به منظور پخش کردن بار کاری، مقداری تصادفی بالاتر از این عدد را به عنوان مهلت زمانی اتصال انتخاب میکند.
--oidc-ca-file="" در صورت تنظیم، گواهی سرور OpenID توسط یکی از مراجع صادرکننده در oidc-ca-file اعتبارسنجی خواهد شد؛ در غیر این صورت، از مجموعه CA ریشه میزبان استفاده میشود.
--oidc-client-id="" شناسه کلاینت برای کلاینت OpenID Connect؛ در صورت تنظیم oidc-issuer-url باید تعیین شود.
--oidc-groups-claim="" در صورت ارائه، نام یک ادعای (claim) سفارشی در OpenID Connect برای تعیین گروههای کاربری. انتظار میرود مقدار claim یک رشته یا آرایهای از رشتهها باشد. این پرچم آزمایشی است، لطفاً برای جزئیات بیشتر به مستندات احراز هویت مراجعه کنید.
--oidc-groups-prefix="" در صورت ارائه، تمام گروهها با این مقدار پیشوندگذاری میشوند تا از تداخل با سایر راهبردهای احراز هویت جلوگیری شود.
--oidc-issuer-url="" نشانی وب (URL) صادرکننده OpenID؛ تنها طرح HTTPS پذیرفته خواهد شد. در صورت تنظیم، برای اعتبارسنجی JSON Web Token (JWT) مربوط به OIDC استفاده خواهد شد.
--oidc-required-claim= یک جفت key=value که یک claim الزامی را در ID Token مشخص میکند. در صورت تنظیم، حضور claim در ID Token با مقدار منطبق بررسی خواهد شد. برای مشخص کردن چندین claim، این پرچم را تکرار کنید.
--oidc-signing-algs=[RS256] فهرست جداشده با کاما از الگوریتمهای مجاز امضای نامتقارن JOSE. مقادیر پشتیبانیشده برای هدر 'alg' در JWT عبارتند از: RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512. مقادیر توسط RFC 7518 در https://tools.ietf.org/html/rfc7518#section-3.1 تعریف شدهاند.
--oidc-username-claim="sub" ادعای (claim) OpenID برای استفاده به عنوان نام کاربری. توجه داشته باشید که برای claims غیر از مقدار پیشفرض ('sub') یکتا و تغییرناپذیر بودن تضمین نمیشود. این پرچم آزمایشی است، لطفاً برای جزئیات بیشتر به مستندات احراز هویت مراجعه کنید.
--oidc-username-prefix="" در صورت ارائه، تمام نامهای کاربری با این مقدار پیشوندگذاری میشوند. در صورت عدم ارائه، ادعاهای نام کاربری به غیر از 'email' با URL صادرکننده پیشوند میگیرند تا از تداخل جلوگیری شود. برای صرفنظر از هرگونه پیشوندگذاری، مقدار '-' را ارائه دهید.
--peer-advertise-ip="" اگر تنظیم شده باشد و گیت ویژگی UnknownVersionInteroperabilityProxy فعال باشد، این IP توسط kube-apiserverهای همتا برای پروکسی کردن درخواستها به این kube-apiserver استفاده میشود زمانی که به دلیل ناهمخوانی نسخه بین kube-apiserverها، پردازش درخواست توسط همتا ممکن نباشد. این پرچم فقط در خوشههایی با چندین kube-apiserver که برای دسترسیپذیری بالا (high availability) پیکربندی شدهاند استفاده میشود.
--peer-advertise-port="" اگر تنظیم شده باشد و گیت ویژگی UnknownVersionInteroperabilityProxy فعال باشد، این پورت توسط kube-apiserverهای همتا برای پروکسی کردن درخواستها به این kube-apiserver استفاده میشود زمانی که به دلیل ناهمخوانی نسخه بین kube-apiserverها، پردازش درخواست توسط همتا ممکن نباشد. این پرچم فقط در خوشههایی با چندین kube-apiserver که برای دسترسیپذیری بالا (high availability) پیکربندی شدهاند استفاده میشود.
--peer-ca-file="" اگر تنظیم شده باشد و گیت ویژگی UnknownVersionInteroperabilityProxy فعال باشد، این فایل برای اعتبارسنجی گواهیهای خدمترسانی (serving certificates) در kube-apiserverهای همتا به کار میرود. این پرچم فقط در خوشههایی با چندین kube-apiserver که برای دسترسیپذیری بالا پیکربندی شدهاند استفاده میشود.
--permit-address-sharing=false اگر true باشد، هنگام مقیدسازی پورت از SO_REUSEADDR استفاده میشود. این گزینه امکان مقیدسازی همزمان به آدرسهای عام مانند 0.0.0.0 و IPهای خاص را فراهم کرده و از انتظار برای هسته جهت آزادسازی سوکتها در وضعیت TIME_WAIT جلوگیری میکند. [پیشفرض=false]
--permit-port-sharing=false اگر true باشد، هنگام مقیدسازی پورت از SO_REUSEPORT استفاده میشود که به بیش از یک نمونه اجازه میدهد به همان آدرس و پورت متصل شوند. [پیشفرض=false]
--profiling=true فعالسازی پروفایلگیری از طریق واسط وب host:port/debug/pprof/
--proxy-client-cert-file="" گواهی کلاینت استفادهشده برای احراز هویت aggregator یا kube-apiserver هنگامی که باید در جریان پردازش یک درخواست فراخوانی بیرونی انجام دهد. این شامل پروکسی کردن درخواستها به یک api-server کاربر و فراخوانی افزایههای پذیرش وبهوک (webhook admission plugins) است. انتظار میرود این گواهی شامل امضایی از CA موجود در پرچم --requestheader-client-ca-file باشد. آن CA در ConfigMap با نام 'extension-apiserver-authentication' در فضاینام kube-system منتشر شده است. مؤلفههایی که فراخوانیها را از kube-aggregator دریافت میکنند باید از آن CA برای انجام نیمه خود در اعتبارسنجی متقابل TLS استفاده کنند.
--proxy-client-key-file="" کلید خصوصی برای گواهی کلاینت مورد استفاده در احراز هویت aggregator یا kube-apiserver هنگامی که باید در جریان پردازش یک درخواست فراخوانی بیرونی انجام دهد. این شامل پروکسی کردن درخواستها به یک api-server کاربر و فراخوانی افزایههای پذیرش وبهوک است.
--request-timeout=1m0s یک فیلد اختیاری که مدت زمانی را مشخص میکند که یک هندلر باید پیش از اتمام مهلت زمانی، درخواست را باز نگه دارد. این مقدار پیشفرض مهلت زمانی برای درخواستها است، اما میتواند توسط پرچمهایی نظیر --min-request-timeout برای انواع خاصی از درخواستها بازنویسی شود.
--requestheader-allowed-names=[] فهرست نامهای متداول (common names) در گواهیهای کلاینت که مجازند در هدرهای مشخصشده توسط --requestheader-username-headers نام کاربری ارائه دهند. در صورت خالی بودن، هر گواهی کلاینتی که توسط مراجع در --requestheader-client-ca-file اعتبارسنجی شده باشد مجاز خواهد بود.
--requestheader-client-ca-file="" بسته گواهی ریشه (root certificate bundle) مورد استفاده برای اعتبارسنجی گواهیهای کلاینت در درخواستهای ورودی پیش از اعتماد به نامهای کاربری موجود در هدرهای مشخصشده توسط --requestheader-username-headers. هشدار: بهطور کلی اتکا نکنید که مجوزدهی (authorization) پیشتر برای درخواستهای ورودی انجام شده باشد.
--requestheader-extra-headers-prefix=[] فهرست پیشوندهای هدر درخواست برای بررسی. مقدار X-Remote-Extra- پیشنهاد میشود.
--requestheader-group-headers=[] فهرست هدرهای درخواست برای بررسی گروهها. مقدار X-Remote-Group پیشنهاد میشود.
--requestheader-uid-headers=[] فهرست هدرهای درخواست برای بررسی UIDها. مقدار X-Remote-Uid پیشنهاد میشود. نیازمند فعال بودن ویژگی RemoteRequestHeaderUID است..PP --requestheader-username-headers=[] فهرستی از سرآیندهای درخواست (request headers) برای بررسی جهت یافتن نامهای کاربری. مقدار X-Remote-User رایج است.
--runtime-config= مجموعهای از جفتهای کلید=مقدار (key=value) که APIهای توکار را فعال یا غیرفعال میکنند. گزینههای پشتیبانیشده عبارتند از: v1=true|false برای گروه API اصلی (core API) /=true|false برای یک گروه و نسخهٔ خاص از API (مانند apps/v1=true) api/all=true|false تمامی نسخههای API را کنترل میکند api/ga=true|false تمامی نسخههای API به فرم v[0-9]+ را کنترل میکند api/beta=true|false تمامی نسخههای API به فرم v[0-9]+beta[0-9]+ را کنترل میکند api/alpha=true|false تمامی نسخههای API به فرم v[0-9]+alpha[0-9]+ را کنترل میکند api/legacy منسوخ شده است و در نسخههای آینده حذف خواهد شد
--runtime-config-emulation-forward-compatible=false اگر روی true تنظیم شود، APIهایی که با group/version مشخص شده و در پرچم --runtime-config فعال شدهاند، حتی اگر پس از نسخهٔ شبیهسازی (emulation version) معرفی شده باشند نیز نصب خواهند شد. اگر false باشد، در صورتی که هر یک از APIهای مشخصشده با group/version و فعال در پرچم --runtime-config پس از نسخهٔ شبیهسازی معرفی شده باشند، سرور در راهاندازی با خطا مواجه خواهد شد. این گزینه تنها در صورتی میتواند روی true تنظیم شود که نسخهٔ شبیهسازی کمتر از نسخهٔ باینری باشد.
--secure-port=6443 درگاهی که HTTPS همراه با احراز هویت و مجوزدهی روی آن سرویسدهی میشود. این گزینه را نمیتوان با 0 غیرفعال کرد.
--service-account-extend-token-expiration=true تمدید انقضای توکن پیشبینیشدهٔ حساب خدمت (projected service account) را در حین تولید توکن فعال میکند، که به گذار ایمن از توکنهای موروثی (legacy) به قابلیت توکنهای مقیدشدهٔ حساب خدمت (bound service account token) کمک میکند. اگر این پرچم فعال باشد، توکنهای تزریقشده توسط admission تا سقف ۱ سال تمدید میشوند تا از بروز خطای غیرمنتظره در حین گذار جلوگیری شود، و مقدار service-account-max-token-expiration نادیده گرفته میشود.
--service-account-issuer=[] شناسهٔ صادرکنندهٔ توکن حساب خدمت (service account). صادرکننده این شناسه را در ادعای (claim) "iss" توکنهای صادرشده درج خواهد کرد. این مقدار یک رشته یا URI است. اگر این گزینه یک URI معتبر طبق مشخصات OpenID Discovery 1.0 نباشد، قابلیت ServiceAccountIssuerDiscovery غیرفعال باقی خواهد ماند، حتی اگر feature gate روی true تنظیم شده باشد. اکیداً توصیه میشود که این مقدار با مشخصات OpenID مطابقت داشته باشد: https://openid.net/specs/openid-connect-discovery-1_0.html. در عمل، این بدان معناست که service-account-issuer باید یک URL از نوع https باشد. همچنین اکیداً توصیه میشود که این URL قادر به ارائهٔ اسناد کشف OpenID در {service-account-issuer}/.well-known/openid-configuration باشد. هنگامی که این پرچم چندین بار مشخص شود، از اولین مورد برای تولید توکنها استفاده میشود و از همگی برای تعیین صادرکنندگان مورد پذیرش استفاده خواهد شد.
--service-account-jwks-uri="" نشانی URI مربوط به JSON Web Key Set را در سند کشف ارائهشده در /.well-known/openid-configuration بازنویسی میکند. این پرچم زمانی کاربرد دارد که سند کشف و مجموعه کلید از نشانی URLای غیر از آدرس خارجی سرور API (که بهطور خودکار شناسایی شده یا با external-hostname بازنویسی شده است) به طرفهای متکی (relying parties) ارائه شود.
--service-account-key-file=[] فایل حاوی کلیدهای عمومی یا خصوصی PEM-encoded x509 RSA یا ECDSA، که برای تأیید توکنهای ServiceAccount استفاده میشود. فایل مشخصشده میتواند حاوی چندین کلید باشد، و این پرچم میتواند چندین بار با فایلهای مختلف مشخص شود. در صورت عدم تعیین، از --tls-private-key-file استفاده میشود. در صورت ارائهٔ --service-account-signing-key-file، تعیین این گزینه الزامی است.
--service-account-lookup=true اگر روی true تنظیم شود، وجود توکنهای ServiceAccount در etcd به عنوان بخشی از فرایند احراز هویت اعتبارسنجی میشود.
--service-account-max-token-expiration=0s حداکثر مدت اعتبار توکن ایجادشده توسط صادرکنندهٔ توکن حساب خدمت. اگر یک TokenRequest معتبر با مدت اعتباری بزرگتر از این مقدار درخواست شود، توکن با مدت اعتباری برابر با این مقدار صادر خواهد شد.
--service-account-signing-endpoint="" مسیر سوکت که یک امضاکنندهٔ خارجی JWT در آن در حال شنود است. این پرچم با --service-account-signing-key-file و --service-account-key-file ناسازگار است (مانعةالجمع). نیازمند فعالسازی feature gate با نام ExternalServiceAccountTokenSigner است.
--service-account-signing-key-file="" مسیر فایلی که حاوی کلید خصوصی فعلی صادرکنندهٔ توکن حساب خدمت است. صادرکننده توکنهای شناسهٔ (ID tokens) صادرشده را با این کلید خصوصی امضا خواهد کرد.
--service-cluster-ip-range="" یک محدودهٔ IP با نمادگذاری CIDR که IPهای کلاستر سرویس از آن تخصیص داده میشوند. این محدوده نباید با هیچیک از محدودههای IP تخصیصیافته به nodeها یا podها همپوشانی داشته باشد. حداکثر دو CIDR با پشتهٔ دوگانه (dual-stack) مجاز است.
--service-node-port-range=30000-32767 یک محدودهٔ درگاه برای رزرو جهت سرویسهای دارای دسترسی NodePort. این محدوده نباید با محدودهٔ درگاههای زودگذر (ephemeral ports) روی nodeها تداخل داشته باشد. مثال: '30000-32767'. هر دو انتهای محدوده را شامل میشود.
--show-hidden-metrics-for-version="" نسخهٔ قبلی که میخواهید معیارهای پنهانشده برای آن نمایش داده شوند. تنها نسخهٔ فرعی (minor) قبلی معنادار است، سایر مقادیر مجاز نخواهند بود. قالب آن بهصورت . است، مانند: '1.16'. هدف از این قالب این است که مطمئن شوید فرصت مشاهدهٔ معیارهایی که در نسخهٔ بعدی پنهان میشوند را دارید، تا در انتشار بعد از آن که بهطور دائمی حذف میشوند غافلگیر نشوید.
--shutdown-delay-duration=0s مدتزمان تأخیر در خاتمه. در طول این مدت، سرور به پاسخگویی عادی به درخواستها ادامه میدهد. نقاط پایانی /healthz و /livez وضعیت موفقیتآمیز را برمیگردانند، اما /readyz بلافاصله وضعیت شکست را بازمیگرداند. خاتمهٔ آرام (graceful termination) پس از سپری شدن این تأخیر آغاز میشود. این گزینه میتواند برای دادن فرصت به توازنبخش بار (load balancer) جهت متوقف کردن ارسال ترافیک به این سرور استفاده شود.
--shutdown-send-retry-after=false اگر روی true تنظیم شود، کارساز HTTP تا زمانی که تمام درخواستهای در حال پردازش (in flight) غیرطولانی تخلیه شوند، به شنود ادامه خواهد داد؛ در طول این بازه، تمامی درخواستهای ورودی با کد وضعیت 429 و یک سرآیند پاسخ 'Retry-After' رد خواهند شد، علاوه بر این، سرآیند پاسخ 'Connection: close' تنظیم میشود تا اتصال TCP در صورت بیکار بودن بسته شود.
--shutdown-watch-termination-grace-period=0s این گزینه در صورت تنظیم، نشاندهندهٔ حداکثر مهلتی است که apiserver در طول بازهٔ خاموش شدن آرام سرور، برای تخلیه شدن درخواستهای watch فعال منتظر خواهد ماند.
--storage-backend="" بکاند ذخیرهسازی برای پایداری دادهها. گزینهها: 'etcd3' (پیشفرض).
--storage-initialization-timeout=1m0s حداکثر مدتزمان انتظار برای مقداردهی اولیهٔ فضای ذخیرهسازی، پیش از اعلام آماده بودن apiserver. پیشفرض 1m است.
--storage-media-type="application/vnd.kubernetes.protobuf" نوع رسانه (media type) مورد استفاده برای ذخیرهسازی اشیاء در فضای ذخیرهسازی. برخی منابع یا بکاندهای ذخیرهسازی ممکن است تنها از یک نوع رسانهٔ خاص پشتیبانی کنند و این تنظیم را نادیده بگیرند. انواع رسانهٔ پشتیبانیشده: [application/json, application/yaml, application/vnd.kubernetes.protobuf]
--strict-transport-security-directives=[] فهرستی از دستورالعملها برای HSTS، جداشده با ویرگول. اگر این فهرست خالی باشد، دستورالعملهای HSTS اضافه نخواهند شد. مثال: 'max-age=31536000,includeSubDomains,preload'
--tls-cert-file="" فایل حاوی گواهی پیشفرض x509 برای HTTPS. (گواهی CA، در صورت وجود، پس از گواهی سرور الحاق میشود). اگر سرویسدهی HTTPS فعال باشد و --tls-cert-file و --tls-private-key-file ارائه نشده باشند، یک گواهی خودامضا و کلید برای نشانی عمومی تولید شده و در دایرکتوری مشخصشده توسط --cert-dir ذخیره میشود.
--tls-cipher-suites=[] فهرست جداشده با ویرگول از مجموعههای رمزنگاری (cipher suites) برای سرور. در صورت حذف، مجموعههای رمزنگاری پیشفرض Go استفاده خواهند شد. مقادیر ارجح: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256. مقادیر ناامن: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_RC4_128_SHA.
--tls-curve-preferences=[] فهرست جداشده با ویرگول از مقادیر عددی CurveID در کتابخانهٔ crypto/tls زبان Go، به عنوان سازوکارهای مجاز تبادل کلید برای سرور. مقادیر پشتیبانیشده به نسخهٔ Go مورد استفاده بستگی دارند. برای مقادیر پشتیبانیشده در هر نسخهٔ Go به https://pkg.go.dev/crypto/tls#CurveID مراجعه کنید. ترتیب این فهرست نادیده گرفته میشود و سازوکارهای تبادل کلید توسط Go با استفاده از یک اولویتبندی داخلی از این فهرست انتخاب میشوند. در صورت حذف، منحنیهای پیشفرض Go استفاده خواهند شد.
--tls-min-version="" حداقل نسخهٔ TLS پشتیبانیشده. مقادیر ممکن: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
--tls-private-key-file="" فایل حاوی کلید خصوصی پیشفرض x509 متناظر با --tls-cert-file.
--tls-sni-cert-key=[] یک جفت مسیر فایل گواهی x509 و کلید خصوصی، که میتواند اختیاری با پسوندی از فهرستی از الگوهای دامنه که نامهای دامنهٔ کاملاً واجد شرایط (FQDN) هستند و احتمالاً بخشهای عام (wildcard) پیشوندی دارند، همراه باشد. الگوهای دامنه نشانیهای IP را نیز مجاز میدانند، اما IPها تنها در صورتی باید استفاده شوند که apiserver به نشانی IP درخواستی کلاینت دید داشته باشد. اگر هیچ الگوی دامنهای مشخص نشود، نامهای گواهی استخراج میشوند. تطابقهای بدون نویسهٔ عام بر تطابقهای دارای نویسهٔ عام اولویت دارند، و الگوهای صریح دامنه بر نامهای استخراجشده تقدم دارند. برای چند جفت کلید/گواهی، چندین بار از پرچم --tls-sni-cert-key استفاده کنید. مثالها: "example.crt,example.key" یا "foo.crt,foo.key:*.foo.com,foo.com".
--token-auth-file="" در صورت تنظیم، فایلی است که برای ایمنسازی درگاه امن سرور API از طریق احراز هویت توکن استفاده خواهد شد.
--tracing-config-file="" فایل حاوی پیکربندی ردگیری (tracing) برای apiserver.
-v, --v=0 عددی برای تعیین میزان پرگویی (verbosity) سطح ثبت گزارش
--version=false --version و --version=raw اطلاعات نسخه را چاپ کرده و خارج میشوند؛ --version=vX.Y.Z... نسخهٔ گزارششده را تنظیم میکند
--vmodule= فهرست جداشده با ویرگول از تنظیمات pattern=N برای پالایش ثبت گزارش بر پایهٔ فایل (تنها برای قالب گزارش متنی عمل میکند)
--watch-cache=true فعالسازی حافظهٔ موقت نظارت (watch cache) در apiserver
--watch-cache-sizes=[] تنظیمات اندازهٔ حافظهٔ موقت نظارت برای برخی منابع (podها، nodeها و غیره)، جداشده با ویرگول. قالب تنظیم منفرد: resource[.group]#size، که در آن resource به صورت جمع با حروف کوچک (بدون نسخه) است، group برای منابع با apiVersion v1 (API اصلی قدیمی) حذف شده و برای دیگر منابع درج میشود، و size یک عدد است. این گزینه تنها برای منابع توکار apiserver معنادار است، نه مواردی که با CRDها تعریف شده یا از سرورهای خارجی تجمیع شدهاند، و تنها در صورتی بررسی میشود که watch-cache فعال باشد. تنها مقدار اندازهٔ معنادار برای درج در اینجا صفر است، که به معنای غیرفعالسازی کش نظارت برای منبع مرتبط خواهد بود؛ تمام مقادیر غیرصفر معادل بوده و به معنای عدم غیرفعالسازی کش نظارت برای آن منبع است..SH "تاریخچه (HISTORY)" ژانویه ۲۰۱۵، در ابتدا توسط Eric Paris (eparis at redhat dot com) بر اساس منابع اصلی kubernetes گردآوری شد، اما امید است از آن زمان تاکنون بهصورت خودکار تولید شده باشند!
| User | Manuals |