K3D: Моніторинг вашого сервісу за допомогою Kubernetes Dashboard або Octant

pic

K3D — це легковажна обгортка навколо k3s, яка дозволяє запускати кластери Kubernetes всередині контейнерів Docker. Хоча K3D здебільшого використовується для локальної розробки та тестування, ефективний моніторинг сервісів, що працюють на кластерах Kubernetes, є важливим для налагодження, оптимізації продуктивності та розуміння використання ресурсів.

У цьому блозі я розгляну два популярні інструменти моніторингу для Kubernetes: Kubernetes Dashboard — офіційний веб-інтерфейс для Kubernetes, та Octant — локальна, реальна, самостійна панель керування, розроблена VMware. Обидва інструменти мають свої унікальні переваги, і цей посібник допоможе вам зрозуміти, коли варто використовувати один з них замість іншого.

Налаштування Kubernetes Dashboard на K3D

Спочатку потрібно створити кластер за допомогою команди k3d cluster create:

$ k3d cluster create dashboard --servers 1 --agents 2  

INFO[0000] Prep: Network  
INFO[0000] Created network 'k3d-dashboard'  
INFO[0000] Created image volume k3d-dashboard-images  
INFO[0000] Starting new tools node...  
INFO[0000] Starting node 'k3d-dashboard-tools'  
INFO[0001] Creating node 'k3d-dashboard-server-0'  
INFO[0001] Creating node 'k3d-dashboard-agent-0'  
INFO[0001] Creating node 'k3d-dashboard-agent-1'  
INFO[0001] Creating LoadBalancer 'k3d-dashboard-serverlb'  
INFO[0001] Using the k3d-tools node to gather environment information  
INFO[0001] HostIP: using network gateway 172.18.0.1 address  
INFO[0001] Starting cluster 'dashboard'  
INFO[0001] Starting servers...  
INFO[0001] Starting node 'k3d-dashboard-server-0'  
INFO[0008] Starting agents...  
INFO[0008] Starting node 'k3d-dashboard-agent-0'  
INFO[0008] Starting node 'k3d-dashboard-agent-1'  
INFO[0015] Starting helpers...  
INFO[0016] Starting node 'k3d-dashboard-serverlb'  
INFO[0022] Injecting records for hostAliases (incl. host.k3d.internal) and for 4 network members into CoreDNS configmap...  
INFO[0024] Cluster 'dashboard' created successfully!  
INFO[0024] You can now use it like this:  
kubectl cluster-info

Далі, розгорніть Kubernetes Dashboard:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

Перевірте, чи працюють ваші pod-и:

$ kubectl get pods -n kubernetes-dashboard  

NAME READY STATUS RESTARTS AGE  
dashboard-metrics-scraper-795895d745-kcbkw 1/1 Running 0 10m  
kubernetes-dashboard-56cf4b97c5-fg92n 1/1 Running 0 10m

Далі створіть обліковий запис сервісу та прив'яжіть роль. Щоб отримати доступ до панелі керування, вам необхіден обліковий запис сервісу з відповідними дозволами.
Створіть обліковий запис сервісу та прив'язку ролі кластера за допомогою наступного YAML:

apiVersion: v1  
kind: ServiceAccount  
metadata:  
 name: admin-user  
 namespace: kubernetes-dashboard  
---  
apiVersion: rbac.authorization.k8s.io/v1  
kind: ClusterRoleBinding  
metadata:  
 name: admin-user  
roleRef:  
 apiGroup: rbac.authorization.k8s.io  
 kind: ClusterRole  
 name: cluster-admin  
subjects:  
- kind: ServiceAccount  
 name: admin-user  
 namespace: kubernetes-dashboard

Застосуйте цю конфігурацію:

$ kubectl apply -f admin-user.yamlserviceaccount/admin-user created  

clusterrolebinding.rbac.authorization.k8s.io/admin-user created

Далі, отримайте токен для входу за допомогою:

$ kubectl -n kubernetes-dashboard create token admin-user

Використовуйте kubectl proxy, щоб отримати доступ до панелі керування:

$ kubectl proxy  

Starting to serve on 127.0.0.1:8001

Нарешті, відкрийте браузер і перейдіть за адресою:

http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy

pic

Скопіюйте та вставте токен.

pic

Kubernetes Dashboard

Налаштування Octant на K3D

Спочатку потрібно встановити Octant. Ви можете встановити Octant за допомогою менеджера пакетів або завантажити його безпосередньо з офіційних релізів. Наприклад, на macOS ви можете використовувати Homebrew:

brew install octant

Далі, на Linux просто завантажте відповідний бінарний файл і перемістіть його в ваш шлях:

$ wget https://github.com/vmware-tanzu/octant/releases/download/v0.25.1/octant_0.25.1_Linux-64bit.tar.gz  

$ tar -xvzf octant_0.25.1_Linux-64bit.tar.gz && mv octant_0.25.1_Linux-64bit octant  

$ rm octant_0.25.1_Linux-64bit.tar.gz

Далі, щоб запустити Octant, просто виконайте бінарний файл:

$ cd octant  
$ ./octant

Нарешті, ви побачите панель керування:

pic

Panely керування Octant

Порівняння: Kubernetes Dashboard проти Octant

Висновок

І Kubernetes Dashboard, і Octant пропонують цінні можливості для моніторингу кластерів Kubernetes в K3D. Якщо вам потрібно швидко та просто моніторити ваш локальний кластер з мінімальними налаштуваннями, Octant — чудовий вибір. З іншого боку, якщо ви хочете досвід, наближений до управління виробничим середовищем, Kubernetes Dashboard буде кращим варіантом.

Посилання:

Перекладено з: K3D: Monitoring Your Service using Kubernetes Dashboard or Octant

Leave a Reply

Your email address will not be published. Required fields are marked *