40 Days Of Kubernetes (22/40)

Summarize this content to 400 words in Persian Lang
روز 22/40
لینک ویدیو@piyushsachdeva مخزن گیتمن Git Repo
ما نگاه می کنیم authorization، kubeconfig و برخی مفاهیم دیگردر واقع وقتی فرمان را اجرا می کنید kubectl get pods، قبل از اینکه به نتیجه برسید، احراز هویت می شوید و بررسی می کنید که آیا مجاز هستید و اجازه اجرای این دستور را در یک kubernetes خوشه.
از آنجایی که در پسزمینه، برخی از دادهها به خوشه ارسال میشوند، شما مجاز به اجرای دستورات در یک خوشه هستید یا نیستید.ما این گزینه ها را با یک فایل کانفیگ به نام ارسال می کنیم kubeconfig.
دستور واقعی به این صورت است:
root@localhost:~# kubectl get nodes –kubeconfig .kube/config
NAME STATUS ROLES AGE VERSION
lucky-luke-control-plane Ready control-plane 22d v1.30.0
lucky-luke-worker Ready 22d v1.30.0
lucky-luke-worker2 Ready 22d v1.30.0
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
جزئیات در kubeconfig فایل شامل:
گواهی-مرجع-داده
سرور
زمینه ها
کلاینت-کلید-داده و غیره. را context چیزی نیست جز ترکیبی از user و cluster.
(عکس از ویدیو)
…
contexts:
– context:
cluster: kind-lucky-luke
user: kind-lucky-luke
name: kind-lucky-luke
…
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
احراز هویت چیست و مجوز چیست
(عکس از ویدیو)
ABAC، کنترل دسترسی مبتنی بر ویژگی، یک پارادایم کنترل دسترسی را تعریف می کند که به موجب آن حقوق دسترسی از طریق استفاده از سیاست هایی که ویژگی ها را با هم ترکیب می کنند به کاربران اعطا می شود.
RBAC، کنترل دسترسی مبتنی بر نقش، روشی برای تنظیم دسترسی به رایانه یا منابع شبکه بر اساس نقش تک تک کاربران در سازمان شما است. منبع
گره مجوز یک حالت مجوز با هدف ویژه است که به طور خاص درخواست های API ارائه شده توسط kubelets.source را مجاز می کند.
آ وب هوک یک پاسخ تماس HTTP است: یک HTTP POST که زمانی اتفاق می افتد که اتفاقی می افتد. یک اعلان رویداد ساده از طریق HTTP POST. یک برنامه وب که WebHooks را پیادهسازی میکند، هنگامی که موارد خاصی اتفاق میافتد، پیامی را به URL ارسال میکند.وقتی مشخص شد، حالت Webhook باعث می شود که Kubernetes در هنگام تعیین user privileges.source از یک سرویس REST خارج پرس و جو کند
همانطور که ما از a استفاده می کنیم kind خوشه، ما نمی توانیم به گره خود ssh کنیم، زیرا یک ظرف داکر است. بنابراین ما می توانیم آن را اداره کنیم exec فرمان
root@localhost:~# docker ps | grep control-plane
f791fa85c269 kindest/node:v1.30.0 “/usr/local/bin/entr…” 3 weeks ago Up 11 hours 0.0.0.0:30001->30001/tcp, 127.0.0.1:39283->6443/tcp lucky-luke-control-plane
root@localhost:~# docker exec -it lucky-luke-control-plane bash
root@lucky-luke-control-plane:/# cd /etc/kubernetes/manifests/
root@lucky-luke-control-plane:/etc/kubernetes/manifests# ls -l
total 16
-rw——- 1 root root 2418 Jul 23 06:26 etcd.yaml
-rw——- 1 root root 3896 Jul 23 06:26 kube-apiserver.yaml
-rw——- 1 root root 3434 Jul 23 06:26 kube-controller-manager.yaml
-rw——- 1 root root 1463 Jul 23 06:26 kube-scheduler.yaml
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اگر ببینیم kube-apiserver.yaml فایل، میتوانیم گزینههای زیادی را ببینیم که برای شروع فرمان سرویس عبور کردهاند، مانند:
…
spec:
containers:
– command:
– kube-apiserver
– –advertise-address=172.19.0.4
– –allow-privileged=true
– –authorization-mode=Node,RBAC
…
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
را authorization-mode است Node و RBAC.توجه داشته باشید پیش فرض به AlwaysAllow اگر –authorization-config استفاده نمی شود. در اینجا برای اطلاعات بیشتر در مورد گزینه های دیگر.
دایرکتوری پیش فرض همه گواهی که توسط kube-apiserver است:
root@lucky-luke-control-plane:~# ls -l /etc/kubernetes/pki/
total 60
-rw-r–r– 1 root root 1123 Jul 1 16:16 apiserver-etcd-client.crt
-rw——- 1 root root 1675 Jul 1 16:16 apiserver-etcd-client.key
-rw-r–r– 1 root root 1176 Jul 1 16:16 apiserver-kubelet-client.crt
-rw——- 1 root root 1679 Jul 1 16:16 apiserver-kubelet-client.key
-rw-r–r– 1 root root 1334 Jul 23 06:26 apiserver.crt
-rw——- 1 root root 1675 Jul 23 06:26 apiserver.key
-rw-r–r– 1 root root 1107 Jul 1 16:16 ca.crt
-rw——- 1 root root 1675 Jul 1 16:16 ca.key
drwxr-xr-x 2 root root 4096 Jul 1 16:16 etcd
-rw-r–r– 1 root root 1123 Jul 1 16:16 front-proxy-ca.crt
-rw——- 1 root root 1679 Jul 1 16:16 front-proxy-ca.key
-rw-r–r– 1 root root 1119 Jul 1 16:16 front-proxy-client.crt
-rw——- 1 root root 1675 Jul 1 16:16 front-proxy-client.key
-rw——- 1 root root 1679 Jul 1 16:16 sa.key
-rw——- 1 root root 451 Jul 1 16:16 sa.pub
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
چندین جفت گواهی و کلید برای وجود دارد apiserver، زیرا گاهی به عنوان یک سرور و گاهی مانند یک کلاینت عمل می کند.
روز 22/40
لینک ویدیو
@piyushsachdeva
مخزن گیت
من Git Repo
ما نگاه می کنیم authorization
، kubeconfig
و برخی مفاهیم دیگر
در واقع وقتی فرمان را اجرا می کنید kubectl get pods
، قبل از اینکه به نتیجه برسید، احراز هویت می شوید و بررسی می کنید که آیا مجاز هستید و اجازه اجرای این دستور را در یک kubernetes
خوشه.
از آنجایی که در پسزمینه، برخی از دادهها به خوشه ارسال میشوند، شما مجاز به اجرای دستورات در یک خوشه هستید یا نیستید.
ما این گزینه ها را با یک فایل کانفیگ به نام ارسال می کنیم kubeconfig
.
دستور واقعی به این صورت است:
root@localhost:~# kubectl get nodes --kubeconfig .kube/config
NAME STATUS ROLES AGE VERSION
lucky-luke-control-plane Ready control-plane 22d v1.30.0
lucky-luke-worker Ready 22d v1.30.0
lucky-luke-worker2 Ready 22d v1.30.0
جزئیات در kubeconfig
فایل شامل:
- گواهی-مرجع-داده
- سرور
- زمینه ها
- کلاینت-کلید-داده و غیره. را
context
چیزی نیست جز ترکیبی ازuser
وcluster
.
(عکس از ویدیو)
...
contexts:
- context:
cluster: kind-lucky-luke
user: kind-lucky-luke
name: kind-lucky-luke
...
احراز هویت چیست و مجوز چیست
(عکس از ویدیو)
ABAC، کنترل دسترسی مبتنی بر ویژگی، یک پارادایم کنترل دسترسی را تعریف می کند که به موجب آن حقوق دسترسی از طریق استفاده از سیاست هایی که ویژگی ها را با هم ترکیب می کنند به کاربران اعطا می شود.
RBAC، کنترل دسترسی مبتنی بر نقش، روشی برای تنظیم دسترسی به رایانه یا منابع شبکه بر اساس نقش تک تک کاربران در سازمان شما است. منبع
گره مجوز یک حالت مجوز با هدف ویژه است که به طور خاص درخواست های API ارائه شده توسط kubelets.source را مجاز می کند.
آ وب هوک یک پاسخ تماس HTTP است: یک HTTP POST که زمانی اتفاق می افتد که اتفاقی می افتد. یک اعلان رویداد ساده از طریق HTTP POST. یک برنامه وب که WebHooks را پیادهسازی میکند، هنگامی که موارد خاصی اتفاق میافتد، پیامی را به URL ارسال میکند.
وقتی مشخص شد، حالت Webhook
باعث می شود که Kubernetes در هنگام تعیین user privileges.source از یک سرویس REST خارج پرس و جو کند
همانطور که ما از a استفاده می کنیم kind
خوشه، ما نمی توانیم به گره خود ssh کنیم، زیرا یک ظرف داکر است. بنابراین ما می توانیم آن را اداره کنیم exec
فرمان
root@localhost:~# docker ps | grep control-plane
f791fa85c269 kindest/node:v1.30.0 "/usr/local/bin/entr…" 3 weeks ago Up 11 hours 0.0.0.0:30001->30001/tcp, 127.0.0.1:39283->6443/tcp lucky-luke-control-plane
root@localhost:~# docker exec -it lucky-luke-control-plane bash
root@lucky-luke-control-plane:/# cd /etc/kubernetes/manifests/
root@lucky-luke-control-plane:/etc/kubernetes/manifests# ls -l
total 16
-rw------- 1 root root 2418 Jul 23 06:26 etcd.yaml
-rw------- 1 root root 3896 Jul 23 06:26 kube-apiserver.yaml
-rw------- 1 root root 3434 Jul 23 06:26 kube-controller-manager.yaml
-rw------- 1 root root 1463 Jul 23 06:26 kube-scheduler.yaml
اگر ببینیم kube-apiserver.yaml
فایل، میتوانیم گزینههای زیادی را ببینیم که برای شروع فرمان سرویس عبور کردهاند، مانند:
...
spec:
containers:
- command:
- kube-apiserver
- --advertise-address=172.19.0.4
- --allow-privileged=true
- --authorization-mode=Node,RBAC
...
را authorization-mode
است Node
و RBAC
.
توجه داشته باشید پیش فرض به AlwaysAllow
اگر --authorization-config
استفاده نمی شود.
در اینجا برای اطلاعات بیشتر در مورد گزینه های دیگر.
دایرکتوری پیش فرض همه گواهی که توسط kube-apiserver
است:
root@lucky-luke-control-plane:~# ls -l /etc/kubernetes/pki/
total 60
-rw-r--r-- 1 root root 1123 Jul 1 16:16 apiserver-etcd-client.crt
-rw------- 1 root root 1675 Jul 1 16:16 apiserver-etcd-client.key
-rw-r--r-- 1 root root 1176 Jul 1 16:16 apiserver-kubelet-client.crt
-rw------- 1 root root 1679 Jul 1 16:16 apiserver-kubelet-client.key
-rw-r--r-- 1 root root 1334 Jul 23 06:26 apiserver.crt
-rw------- 1 root root 1675 Jul 23 06:26 apiserver.key
-rw-r--r-- 1 root root 1107 Jul 1 16:16 ca.crt
-rw------- 1 root root 1675 Jul 1 16:16 ca.key
drwxr-xr-x 2 root root 4096 Jul 1 16:16 etcd
-rw-r--r-- 1 root root 1123 Jul 1 16:16 front-proxy-ca.crt
-rw------- 1 root root 1679 Jul 1 16:16 front-proxy-ca.key
-rw-r--r-- 1 root root 1119 Jul 1 16:16 front-proxy-client.crt
-rw------- 1 root root 1675 Jul 1 16:16 front-proxy-client.key
-rw------- 1 root root 1679 Jul 1 16:16 sa.key
-rw------- 1 root root 451 Jul 1 16:16 sa.pub
چندین جفت گواهی و کلید برای وجود دارد apiserver
، زیرا گاهی به عنوان یک سرور و گاهی مانند یک کلاینت عمل می کند.