Я только что создал кластер в GKE с 2 узлами n1-standard-2 и установил PrometheusOperator, используя официальный helm .
Prometheus, кажется, работает нормально, но я получаюПредупреждения, подобные этому:
message: 33% throttling of CPU in namespace kube-system for container metrics-server in pod metrics-server-v0.3.1-8d4c5db46-zddql.
22 minutes agocontainer: metrics-serverpod: metrics-server-v0.3.1-8d4c5db46-zddql
message: 35% throttling of CPU in namespace kube-system for container heapster-nanny in pod heapster-v1.6.1-554bfbc7d-tg6fm.
an hour agocontainer: heapster-nannypod: heapster-v1.6.1-554bfbc7d-tg6fm
message: 77% throttling of CPU in namespace kube-system for container prometheus-to-sd in pod prometheus-to-sd-789b2.
20 hours agocontainer: prometheus-to-sdpod: prometheus-to-sd-789b2
message: 45% throttling of CPU in namespace kube-system for container heapster in pod heapster-v1.6.1-554bfbc7d-tg6fm.
20 hours agocontainer: heapsterpod: heapster-v1.6.1-554bfbc7d-tg6fm
message: 38% throttling of CPU in namespace kube-system for container default-http-backend in pod l7-default-backend-8f479dd9-9n77b.
Все эти модули являются частью установки GKE по умолчанию, и я не внес в них никаких изменений. Я полагаю, что они являются частью некоторых облачных инструментов Google, которые я еще не пробовал.
Мои узлы на самом деле не находятся под большой нагрузкой:
kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
gke-psi-cluster-01-pool-1-d5650403-cl4g 230m 11% 2973Mi 52%
gke-psi-cluster-01-pool-1-d5650403-xn35 146m 7% 2345Mi 41%
Вот мой конфиг Prometheus helm:
alertmanager:
alertmanagerSpec:
storage:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
config:
global:
resolve_timeout: 5m
receivers:
- name: "null"
- name: slack_k8s
slack_configs:
- api_url: REDACTED
channel: '#k8s'
send_resolved: true
text: |-
{{ range .Alerts }}
{{- if .Annotations.summary }}
*{{ .Annotations.summary }}*
{{- end }}
*Severity* : {{ .Labels.severity }}
{{- if .Labels.namespace }}
*Namespace* : {{ .Labels.namespace }}
{{- end }}
{{- if .Annotations.description }}
{{ .Annotations.description }}
{{- end }}
{{- if .Annotations.message }}
{{ .Annotations.message }}
{{- end }}
{{ end }}
title: '{{ (index .Alerts 0).Labels.alertname }}'
title_link: https://karma.REDACTED?q=alertname%3D{{ (index .Alerts 0).Labels.alertname
}}
route:
group_by:
- alertname
- job
group_interval: 5m
group_wait: 30s
receiver: slack_k8s
repeat_interval: 6h
routes:
- match:
alertname: Watchdog
receiver: "null"
- match:
alertname: KubeAPILatencyHigh
receiver: "null"
ingress:
enabled: false
hosts:
- alertmanager.REDACTED
coreDns:
enabled: false
grafana:
adminPassword: REDACTED
ingress:
annotations:
kubernetes.io/tls-acme: "true"
enabled: true
hosts:
- grafana.REDACTED
tls:
- hosts:
- grafana.REDACTED
secretName: grafana-crt-secret
persistence:
enabled: true
size: 5Gi
kubeControllerManager:
enabled: true
kubeDns:
enabled: true
kubeScheduler:
enabled: true
nodeExporter:
enabled: true
prometheus:
ingress:
enabled: false
hosts:
- prometheus.REDACTED
prometheusSpec:
additionalScrapeConfigs:
- basic_auth:
password: REDACTED
username: prometheus
retention: 30d
ruleSelectorNilUsesHelmValues: false
serviceMonitorSelectorNilUsesHelmValues: false
storageSpec:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
prometheusOperator:
createCustomResource: false
Я обнаружил эту проблему git https://github.com/kubernetes-monitoring/kubernetes-mixin/issues/108, но я не уверен, применимо ли это к моему случаю, потому что это стандартные модули GKE. Я хочу убедиться, что все работает без сбоев, и Stackdriver может правильно восстановить все мои журналы, даже если я еще не нашел, как его использовать.
Должен ли я изменить ограничения на развертывание GKE по умолчанию вКубэ-система? Есть ли проблемы с развертыванием prometheusOperator на GKE?