مدیریت یک خوشه Kubernetes با یک کاربر ساده بسیار ساده است.
وقتی فراتر از یک کاربر تنها می روید ، باید شروع به استفاده از کنترل دسترسی مبتنی بر نقش (RBAC) کنید.
در گذشته ، من چندین بار به این موضوع پرداختم. چگونگی ایجاد یک جعبه ماسه ای Kubernetes سفارشی در Docker Enterprise
اما هنگامی که بیش از یک زن و شوهر از کاربران و / یا تیم ها و چندین نام نام برای آنها فراتر بروید ، ردیابی سریع چه کسی می تواند انجام دهد و کجاست دشوار خواهد شد.
و با گذشت زمان ، و بیشتر و بیشتر l dei در تنظیم RBAC خود شرکت کنید ، می تواند حتی گیج کننده تر شود.
شما باید تعریف منبع RBAC خود را در کنترل منبع داشته باشید ، اما خواندن آنها آسان نیست و تجسم آنها دشوار است.
افزونه منبع باز را که می تواند داشته باشد سعی کنید. kubectl از Aqua Security.
این امکان را به شما می دهد که نشان دهید چه کسی (افراد) می توانند چه کاری (اقدامات) ، چه (منابع) و چه مکانی (نام های مکان) را انجام دهند.
مدیر افزونه Krew
را برای این افزونه نصب کنید. چه کسی می تواند برای kubectl به مدیر افزونه krew نیاز داشته باشد.
اگر شما Krew را نصب نکرده اید ، دستورالعمل ها و نصب آن در مخزن GitHub آن یافت می شود ، https://github.com/kubernetes-sigs/krew/.ociation19659012-03 برای اطمینان از نصب صحیح آن ، می توانید لیستی از افزونه های موجود را از kubectl دریافت کنید.
$ لیست افزونه kubectl افزونه های سازگار با کوبکتل در دسترس هستند: /home/ken.rider/.krew/bin/kubectl-krewociation1965901449 افزونه Who-Can را نصب کنیداگر یک مدیر افزونه krew برای kubectl دارید ، نصب افزونه Who-Can بسیار آسان است.
$ kubectl krew install who-canپیکربندی RBAC برای خوشه ما
من یک خوشه Kubernetes دارم که با استفاده از Docker Enterprise در آزور ساختم.
3 مکان نام (برای پیش فرض) برای توسعه ، آزمایش و تولید وجود ندارد.
من همچنین تیم های توسعه ، آزمایش ، بهره برداری و امنیتی دارم که من به عنوان سرپرست خوشه ایجاد کردم.
من مجموعه ای از RoleBindings را برای هر یک تعریف کردم. از آنها.
$ kubectl اعمال -f توسعه namespace.yaml فضای نام / توسعه ایجاد شده است rolebinding.rbac.authorization.k8s.io/dev-team:development-edit ایجاد شد rolebinding.rbac.authorization.k8s.io/test-team:development-view ایجاد شد rolebinding.rbac.authorization.k8s.io/ops-team:development-admin ایجاد شد rolebinding.rbac.authorization.k8s.io/sec-team:development-view ایجاد شد $ kubectl اعمال شود -f test-namespace.yaml فضای نام / آزمون ایجاد شده است rolebinding.rbac.authorization.k8s.io/dev-team:test-view ایجاد شد rolebinding.rbac.authorization.k8s.io/test-team:test-edit ایجاد شد rolebinding.rbac.authorization.k8s.io/ops-team:test-admin ایجاد شد rolebinding.rbac.authorization.k8s.io/sec-team:test-view ایجاد شد $ kubectl اعمال -f تولید-namespace.yaml فضای نام / تولید ایجاد شده است rolebinding.rbac.authorization.k8s.io/dev-team:production-view ایجاد شد rolebinding.rbac.authorization.k8s.io/test-team:production-view ایجاد شد rolebinding.rbac.authorization.k8s.io/ops-team:production-admin ایجاد شد rolebinding.rbac.authorization.k8s.io/sec-team:production-view ایجاد شدهبا استفاده از who-can
پس از نصب كس-كات ، می بینید كه كاربرد آن بسیار ساده خواهد بود. [19659013] $ kubectl kubectl که-می توانید فعل (نوع | نوع / نام | NONRESOURCEURL) [flags]
دسته ای از اقداماتی که ممکن است مورد علاقه شما، این
مطلعلیستساعت مچیایجادبروزرسانیوصلهحذف.