В этой статье:

Установка сервиса метрик подов

Установка приложения Prometheus

Установка приложения Grafana

Установка веб-интерфейса кластера

Создание учётной записи администратора кластера

Установка дополнительных компонентов для кластера Kubernetes

Для кластера Kubernetes установите следующие дополнительные компоненты на первом главном узле:

Установка сервиса метрик подов

Для установки сервиса метрик подов:

  1. Выполните команды:

helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
helm upgrade --install metrics-server metrics-server/metrics-server -n monitoring --create-namespace

  1. Уберите проверку tls, если не используется сертификат:

    1. Выполните команду:

kubectl edit deployment metrics-server -n monitoring

    1. Добавьте строку в секцию spec containers args:

- --kubelet-insecure-tls

  1. Проверьте статус поднятых подов:

kubectl get pods -n monitoring

После выполнения действий на главном узле будет установлен сервис метрик подов.

Установка приложения Prometheus

Для установки приложения Prometheus:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm upgrade --install prometheus prometheus-community/kube-prometheus-stack \
-n monitoring \
--create-namespace \
--version 55.0.0

После выполнения действий на главном узле будет установлено приложение Prometheus.

Установка приложения Grafana

Для установки приложения Grafana:

  1. Создайте ingress-правило для приложения Grafana. Для этого создайте файл grafana-ingress.yaml с содержимым:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
 name: grafana-dashboard
 namespace: monitoring
spec:
 ingressClassName: nginx
 rules:
   - host: <хост>
     http:
       paths:
         - path: /
           pathType: ImplementationSpecific
           backend:
             service:
               name: prometheus-grafana
               port:
                 number: 80

В подстановке <хост> укажите IP-адрес или DNS-имя, по которому доступно приложение Grafana. Убедитесь, что хост соответствует IP-адресам, указанным в файле metalb-config.yaml при установке компонента metallb. Все хосты, с которыми взаимодействует Kubernetes, должны резолвиться в эти IP-адреса.

  1. Примените ingress-правило:

kubectl apply -f grafana-ingress.yaml

После выполнения действий при переходе по указанному хосту на главном узле будет доступно приложение Grafana.

Установка веб-интерфейса кластера

Для установки веб-интерфейса кластера:

  1. Установите компонент веб-интерфейса:

helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm repo update
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

  1. Создайте ingress-правило для компонента веб-интерфейса. Для этого создайте файл ingress-dashboard.yaml с содержимым:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
 name: kubernetes-dashboard
 annotations:
   nginx.ingress.kubernetes.io/backend-protocol: HTTPS
spec:
 ingressClassName: nginx
 rules:
   - host: <хост>
     http:
       paths:
         - path: /
           pathType: ImplementationSpecific
           backend:
             service:
               name: kubernetes-dashboard-kong-proxy
               port:
                 number: 443

В подстановке <хост> укажите IP-адрес или DNS-имя, по которому доступно приложение Grafana. Убедитесь, что хост соответствует IP-адресам, указанным в файле metalb-config.yaml при установке компонента metallb. Все хосты, с которыми взаимодействует Kubernetes, должны резолвиться в эти IP-адреса.

  1. Примените ingress-правило:

kubectl apply -f ingress-dashboard.yaml -n kubernetes-dashboard

После выполнения действий при переходе по указанному хосту на главном узле будет доступен веб-интерфейс кластера. Для доступа требуется специальный ключ, который генерируется в процессе создания учётной записи администратора кластера.

Создание учётной записи администратора кластера

Для создания учётной записи администратора кластера:

  1. Создайте файл cluster-admin-service-account.yaml с содержимым:

apiVersion: v1
kind: ServiceAccount
metadata:
 name: cluster-admin
 namespace: kube-system

  1. Создайте администратора на основе настроек, заданных в файле cluster-admin-service-account.yaml:

kubectl apply -f cluster-admin-service-account.yaml

  1. Раздайте права администратору:

kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --serviceaccount=kube-system:cluster-admin

  1. Создайте специальный ключ:

kubectl -n kube-system create token cluster-admin

После выполнения действий на главном узле будет создана учётная запись администратора. Специальный ключ используется для доступа к веб-интерфейсу кластера.

Далее перейдите к установке локального хранилища Docker-образов.

См. также:

Подготовка и развёртывание отказоустойчивого кластера на основе Kubernetes | Установка локального хранилища Docker-образов