داشبورد Kubernetes یک رابط کاربری مبتنی بر وب برای کلاستر Kubernetes است که جزئیات کلاستر Kubernetes را نشان می دهد. این جزئیات، شامل Node های موجود در کلاستر، namespaces، نقش های کلاستر، جزئیات شغل و موارد دیگر است. می توانید تنها با چند کلیک یک برنامه کانتینری شده را از طریق داشبورد Kubernetes پیاده سازی کرده و همه منابع کلاستر را به سهولت مدیریت کنید.
پیش نیاز ها
قبل از راه اندازی داشبورد Kubernetes، باید کلاستر آن را در حال اجرا داشته باشید. برای آشنایی با نحوه راه اندازی Kubernetes به خواندن این مقاله ادامه دهید.
مطالب مرتبط :
8 ابزار اپن سورس، نظارت و مانیتورینگ کوبرنتیز kubernetes
آموزش نصب Kubernetes درubuntu 18، با استفاده از Kubeadm
پیاده سازی داشبود Kubernetes
جهت نصب داشبورد Kubernetes، دستور kubectl زیر را در Node اصلی اجرا کنید:
geekflare@kubernetes-master:~$ sudo kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
همانطور که مشاهده می کنید نقاط تحویل یا Pods(point of delivery) داشبورد اکنون در حالت اجرا هستند.
geekflare@kubernetes-master:~$ kubectl get pods –all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6955765f44-hwxdq 1/1 Running 0 6m35s
kube-system coredns-6955765f44-z2tdg 1/1 Running 0 6m35s
kube-system etcd-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-apiserver-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-controller-manager-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-proxy-4b5jz 1/1 Running 0 6m35s
kube-system kube-proxy-v26wn 1/1 Running 0 26s
kube-system kube-scheduler-kubernetes-master 1/1 Running 0 6m45s
kubernetes-dashboard dashboard-metrics-scraper-76585494d8-czrtf 1/1 Running 0 2m37s
kubernetes-dashboard kubernetes-dashboard-5996555fd8-5mhxm 1/1 Running 0 2m37s
دسترسی به داشبورد Kubernetes
دستور زیر را برای دسترسی به داشبورد Kubernetes در 192.168.0.107:8001 اجرا کنید(این را به IP خود تغییر هید).
geekflare@kubernetes-master:~$ kubectl proxy –port=8001 –address=’192.168.0.107′ –accept-hosts=”^*$”
Starting to serve on 192.168.0.107:8001
مرورگر خود را باز کرده وبرای ورود به داشبورد Kubernetes به لینک زیر بروید.
http://192.168.0.107:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
دو راه برای ورود به داشبورد Kubernetes وجود دارد:
- توکن(Token)
- Kubeconfig
برای ورود، توکن ایجاد کنید، سپس در namespace پیش فرض، یک حساب خدماتی(Service Account) ایجاد کنید.
geekflare@kubernetes-master:~$ kubectl create serviceaccount geekflare -n default
serviceaccount/geekflare created
برای حساب ایجاد شده، قوانین الزام آوری تعیین کنید.
geekflare@kubernetes-master:~$ kubectl create clusterrolebinding geekflare-admin -n default –clusterrole=cluster-admin –serviceaccount=default:geekflare
clusterrolebinding.rbac.authorization.k8s.io/geekflare-admin created
دستور kubectl زیر را برای ایجاد توکن اجرا کنید:
geekflare@kubernetes-master:~$ kubectl get secret $(kubectl get serviceaccount geekflare -o jsonpath=”{.secrets[0].name}”) -o jsonpath=”{.data.token}” | base64 –decode
eyJhbGciOiJSUzI1NiIsImtpZCI6ImZxeUhfd0ROdE1qOWxqcFhQODR2NDVFaTJSQU85VHhyUnRneVRCZzBJVUkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRhc2hib2FyZC10b2tlbi02ajhyNSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJkYXNoYm9hcmQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhNzBiNzZmZC1iMzI1LTRiNTUtYTc5YS0wZDRmNjAwNTI4MTAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkYXNoYm9hcmQifQ.KtOGDMp_llQ1_V5OpJGsXzPlDkKw2y4y9TowlTH7WnU84LZHZLPar65cVOh20kPkRGJZmKkmkjuXKc1VcmBJQQCLSJgXb3G-7-OSC8LvC-3ROA0cjsGqDuFtXvA4bjlRJ1wGmAmaCgO8oeXVHqciEjw9wcH5tPRKGlvXAESmDlxH_rVu_TJpqSAb2pp3V0_fpD7VxU34mSfLEoMImixHbCILt0YGS9VyEJUgzcOdfj2ZvECOEbD_Y5LPLcTe0fkBJvwIiIgwxCttFRXktdExo7Z17WlekZJLcCBzRWTfrWte8Ugf6vfpN7IfJVWqQLpDZ9XtgHavpXXeJbp2FljIFw
برای ورود به داشبورد می توانید از توکن ایجاد شده(همانطور که در بالا نشان داده شده است) استفاده کنید.
Kubeconfig
راه دیگر ورود به سیستم استفاده از فایل پیکربندی Kubernetes است.
گزینه Kubeconfig را انتخاب کرده و روی ” Choose Kubeconfig file” کلیک کنید.
از فیل admin.conf، موجود در مسیر $HOME/.kube/config/ استفاده کنید و با موفقیت وارد داشبورد شوید.
رابط داشبورد
در رابط داشبورد جزئیاتNodeها، حجم های مداوم، namespaces، نقش های کلاستری را که کلاستر Kubernetes اجرا می شوند را مشاهده می کنید.
با استفاده از داشبورد، می توانید کد YAML را در ویرایشگر بنویسید تا منابع جدیدی به کلاستر اضافه شود.
هنگامی که کلاستر، در حال اجرای چندین کار است، گزینه های بصری بیشتری خواهید داشت که به شما می گوید کدام کارها شکست خورده یا به پایان رسیده است. اگر مشکلی در کلاستر وجود دارد، می توانید آن را به راحتی در داشبورد مشاهده کنید.
مطالب مرتبط :