Шаг 1. Создайте пространство имен
Перед установкой Prometheus вам необходимо создать пространство имен. Пространства имен используются для изоляции ресурсов и могут помочь вам лучше управлять и организовывать кластер Kubernetes. Вы можете создать пространство имен под названием «мониторинг», используя следующую команду:
kubectl create namespace monitoring
Далее вам необходимо создать ConfigMap, содержащий информацию о конфигурации Prometheus. ConfigMap — это объект Kubernetes, используемый для хранения данных конфигурации. Вы можете создать ConfigMap с именем «prometheus-server-config», используя следующую команду:
kubectl -n monitoring create configmap prometheus-server-config --from-file=prometheus.yml
Приведенная выше команда предполагает, что ваш файл конфигурации Prometheus называется «prometheus.yml». Обязательно замените его фактическим именем профиля.
Далее вам нужно создать сервис Prometheus. Сервис — это объект Kubernetes, используемый для предоставления приложений и сервисов. Вы можете создать службу с именем «prometheus-k8s», используя следующую команду:
kubectl -n monitoring apply -f - << EOF
apiVersion: v1
kind: Service
metadata:
name: prometheus-k8s
spec:
type: NodePort
ports:
- name: web
port: 9090
targetPort: web
selector:
app: prometheus
tier: backend
EOF
Приведенная выше команда создает службу типа NodePort, которая предоставляет Prometheus порт «9090». Кроме того, селектор службы указывает метку пода, который будет предоставлен. В этом примере метками являются «app=prometheus» и «tier=backend».
Наконец, вам нужно создать развертывание Prometheus. Развертывание — это объект Kubernetes, используемый для управления копиями подов. Вы можете создать развертывание с именем «Прометей», используя следующую команду:
kubectl -n monitoring apply -f - << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: prometheus
spec:
replicas: 1
selector:
matchLabels:
app: prometheus
tier: backend
template:
metadata:
labels:
app: prometheus
tier: backend
spec:
containers:
- name: prometheus
image: prom/prometheus:v2.30.3
args:
- "--config.file=/config/prometheus.yml"
ports:
- name: web
containerPort: 9090
volumeMounts:
- name: config-volume
mountPath: "/config"
volumes:
- name: config-volume
configMap:
name: prometheus-server-config
items:
- key: prometheus.yml
path: prometheus.yml
EOF
Приведенная выше команда создаст под, используя официальный образ Docker Prometheus. Этот модуль использует файл конфигурации Prometheus и предоставляет его через порт контейнера «9090». Кроме того, модуль будет использовать ConfigMap для монтирования файлов конфигурации в контейнер.
Теперь вы успешно установили систему мониторинга Prometheus. Проверить статус службы Prometheus можно с помощью следующей команды:
kubectl -n monitoring get service prometheus-k8s
Если служба Prometheus запущена, вы должны увидеть следующий вывод:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
prometheus-k8s NodePort 10.0.191.152 <none> 9090:32767/TCP 16m
Теперь вы можете использовать веб-браузер для доступа к веб-интерфейсу Prometheus для мониторинга вашего кластера Kubernetes. Чтобы получить доступ к веб-интерфейсу Prometheus, введите следующий URL-адрес:
http://<NODE_IP>:<NODE_PORT>
в,NODE_IP
твойKubernetesузелIPадрес,NODE_PORT
даPrometheusсервировкаNodePortпорт。