Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
tke-eos
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
tke-eos
Commits
c00d616e
Commit
c00d616e
authored
Oct 25, 2019
by
kewei.jia
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prometheus的监控yaml
parent
eb6823e7
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
529 additions
and
0 deletions
+529
-0
grafana-ingress.yaml
yamls/monitor/grafana-ingress.yaml
+15
-0
grafana-svc.yaml
yamls/monitor/grafana-svc.yaml
+16
-0
grafana.yaml
yamls/monitor/grafana.yaml
+56
-0
kube-state-metrics-dep.yaml
yamls/monitor/kube-state-metrics-dep.yaml
+57
-0
kube-state-metrics-rbac.yaml
yamls/monitor/kube-state-metrics-rbac.yaml
+96
-0
kube-state-metrics-svc.yaml
yamls/monitor/kube-state-metrics-svc.yaml
+21
-0
prometheus-config-configmap.yaml
yamls/monitor/prometheus-config-configmap.yaml
+156
-0
prometheus-dep.yaml
yamls/monitor/prometheus-dep.yaml
+48
-0
prometheus-pvc.yaml
yamls/monitor/prometheus-pvc.yaml
+12
-0
prometheus-rbac.yaml
yamls/monitor/prometheus-rbac.yaml
+39
-0
prometheus-svc.yaml
yamls/monitor/prometheus-svc.yaml
+13
-0
No files found.
yamls/monitor/grafana-ingress.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
extensions/v1beta1
kind
:
Ingress
metadata
:
name
:
monitoring-grafana
namespace
:
monitor
annotations
:
kubernetes.io/ingress.class
:
'
traefik'
spec
:
rules
:
-
host
:
monitor.liangkebang.net
http
:
paths
:
-
backend
:
serviceName
:
monitoring-grafana
servicePort
:
3000
\ No newline at end of file
yamls/monitor/grafana-svc.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
v1
kind
:
Service
metadata
:
labels
:
# For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons)
# If you are NOT using this as an addon, you should comment out this line.
kubernetes.io/cluster-service
:
'
true'
kubernetes.io/name
:
monitoring-grafana
name
:
monitoring-grafana
namespace
:
monitor
spec
:
ports
:
-
port
:
80
targetPort
:
3000
selector
:
k8s-app
:
grafana
\ No newline at end of file
yamls/monitor/grafana.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
extensions/v1beta1
kind
:
Deployment
metadata
:
name
:
monitoring-grafana
namespace
:
monitor
spec
:
replicas
:
1
selector
:
matchLabels
:
task
:
monitoring
k8s-app
:
grafana
template
:
metadata
:
labels
:
task
:
monitoring
k8s-app
:
grafana
spec
:
containers
:
-
name
:
grafana
image
:
ccr.ccs.tencentyun.com/test1245/grafana:latest
ports
:
-
containerPort
:
3000
protocol
:
TCP
volumeMounts
:
-
mountPath
:
/etc/ssl/certs
name
:
ca-certificates
readOnly
:
true
-
mountPath
:
/var
name
:
grafana-storage
env
:
-
name
:
INFLUXDB_HOST
value
:
monitoring-influxdb
-
name
:
GF_SERVER_HTTP_PORT
value
:
"
3000"
# The following env variables are required to make Grafana accessible via
# the kubernetes api-server proxy. On production clusters, we recommend
# removing these env variables, setup auth for grafana, and expose the grafana
# service using a LoadBalancer or a public IP.
-
name
:
GF_AUTH_BASIC_ENABLED
value
:
"
false"
-
name
:
GF_AUTH_ANONYMOUS_ENABLED
value
:
"
true"
-
name
:
GF_AUTH_ANONYMOUS_ORG_ROLE
value
:
Admin
-
name
:
GF_SERVER_ROOT_URL
# If you're only using the API Server proxy, set this value instead:
# value: /api/v1/namespaces/kube-system/services/monitoring-grafana/proxy
value
:
/
volumes
:
-
name
:
ca-certificates
hostPath
:
path
:
/etc/ssl/certs
-
name
:
grafana-storage
emptyDir
:
{}
yamls/monitor/kube-state-metrics-dep.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
apps/v1beta2
kind
:
Deployment
metadata
:
name
:
kube-state-metrics
namespace
:
monitor
spec
:
selector
:
matchLabels
:
k8s-app
:
kube-state-metrics
replicas
:
1
template
:
metadata
:
labels
:
k8s-app
:
kube-state-metrics
spec
:
serviceAccountName
:
kube-state-metrics
containers
:
-
name
:
kube-state-metrics
image
:
xianyuluo/kube-state-metrics:v1.3.1
ports
:
-
name
:
http-metrics
containerPort
:
8080
-
name
:
telemetry
containerPort
:
8081
readinessProbe
:
httpGet
:
path
:
/healthz
port
:
8080
initialDelaySeconds
:
5
timeoutSeconds
:
5
-
name
:
addon-resizer
image
:
xianyuluo/addon-resizer:1.7
resources
:
limits
:
cpu
:
100m
memory
:
30Mi
requests
:
cpu
:
100m
memory
:
30Mi
env
:
-
name
:
MY_POD_NAME
valueFrom
:
fieldRef
:
fieldPath
:
metadata.name
-
name
:
MY_POD_NAMESPACE
valueFrom
:
fieldRef
:
fieldPath
:
metadata.namespace
command
:
-
/pod_nanny
-
--container=kube-state-metrics
-
--cpu=100m
-
--extra-cpu=1m
-
--memory=100Mi
-
--extra-memory=2Mi
-
--threshold=5
-
--deployment=kube-state-metrics
\ No newline at end of file
yamls/monitor/kube-state-metrics-rbac.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
v1
kind
:
ServiceAccount
metadata
:
name
:
kube-state-metrics
namespace
:
monitor
---
apiVersion
:
rbac.authorization.k8s.io/v1
# kubernetes versions before 1.8.0 should use rbac.authorization.k8s.io/v1beta1
kind
:
Role
metadata
:
namespace
:
monitor
name
:
kube-state-metrics-resizer
rules
:
-
apiGroups
:
[
"
"
]
resources
:
-
pods
verbs
:
[
"
get"
]
-
apiGroups
:
[
"
extensions"
]
resources
:
-
deployments
resourceNames
:
[
"
kube-state-metrics"
]
verbs
:
[
"
get"
,
"
update"
]
---
apiVersion
:
rbac.authorization.k8s.io/v1
# kubernetes versions before 1.8.0 should use rbac.authorization.k8s.io/v1beta1
kind
:
ClusterRole
metadata
:
name
:
kube-state-metrics
rules
:
-
apiGroups
:
[
"
"
]
resources
:
-
configmaps
-
secrets
-
nodes
-
pods
-
services
-
resourcequotas
-
replicationcontrollers
-
limitranges
-
persistentvolumeclaims
-
persistentvolumes
-
namespaces
-
endpoints
verbs
:
[
"
list"
,
"
watch"
]
-
apiGroups
:
[
"
extensions"
]
resources
:
-
daemonsets
-
deployments
-
replicasets
verbs
:
[
"
list"
,
"
watch"
]
-
apiGroups
:
[
"
apps"
]
resources
:
-
statefulsets
verbs
:
[
"
list"
,
"
watch"
]
-
apiGroups
:
[
"
batch"
]
resources
:
-
cronjobs
-
jobs
verbs
:
[
"
list"
,
"
watch"
]
-
apiGroups
:
[
"
autoscaling"
]
resources
:
-
horizontalpodautoscalers
verbs
:
[
"
list"
,
"
watch"
]
---
apiVersion
:
rbac.authorization.k8s.io/v1
# kubernetes versions before 1.8.0 should use rbac.authorization.k8s.io/v1beta1
kind
:
RoleBinding
metadata
:
name
:
kube-state-metrics
namespace
:
monitor
roleRef
:
apiGroup
:
rbac.authorization.k8s.io
kind
:
Role
name
:
kube-state-metrics-resizer
subjects
:
-
kind
:
ServiceAccount
name
:
kube-state-metrics
namespace
:
monitor
---
apiVersion
:
rbac.authorization.k8s.io/v1
# kubernetes versions before 1.8.0 should use rbac.authorization.k8s.io/v1beta1
kind
:
ClusterRoleBinding
metadata
:
name
:
kube-state-metrics
roleRef
:
apiGroup
:
rbac.authorization.k8s.io
kind
:
ClusterRole
name
:
kube-state-metrics
subjects
:
-
kind
:
ServiceAccount
name
:
kube-state-metrics
namespace
:
monitor
\ No newline at end of file
yamls/monitor/kube-state-metrics-svc.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
v1
kind
:
Service
metadata
:
name
:
kube-state-metrics
namespace
:
monitor
labels
:
k8s-app
:
kube-state-metrics
annotations
:
prometheus.io/scrape
:
'
true'
spec
:
ports
:
-
name
:
http-metrics
port
:
8080
targetPort
:
http-metrics
protocol
:
TCP
-
name
:
telemetry
port
:
8081
targetPort
:
telemetry
protocol
:
TCP
selector
:
k8s-app
:
kube-state-metrics
\ No newline at end of file
yamls/monitor/prometheus-config-configmap.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
v1
kind
:
ConfigMap
metadata
:
name
:
prometheus-config
namespace
:
monitor
data
:
prometheus.yml
:
|
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'kubernetes-apiservers'
kubernetes_sd_configs:
- role: endpoints
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: default;kubernetes;https
- job_name: 'kubernetes-nodes'
kubernetes_sd_configs:
- role: node
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics
- job_name: 'kubernetes-cadvisor'
kubernetes_sd_configs:
- role: node
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
- job_name: 'kubernetes-service-endpoints'
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
action: replace
target_label: __scheme__
regex: (https?)
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
action: replace
target_label: __address__
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: kubernetes_name
- job_name: 'kubernetes-services'
kubernetes_sd_configs:
- role: service
metrics_path: /probe
params:
module: [http_2xx]
relabel_configs:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe]
action: keep
regex: true
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: blackbox-exporter.example.com:9115
- source_labels: [__param_target]
target_label: instance
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_service_name]
target_label: kubernetes_name
- job_name: 'kubernetes-ingresses'
kubernetes_sd_configs:
- role: ingress
relabel_configs:
- source_labels: [__meta_kubernetes_ingress_annotation_prometheus_io_probe]
action: keep
regex: true
- source_labels: [__meta_kubernetes_ingress_scheme,__address__,__meta_kubernetes_ingress_path]
regex: (.+);(.+);(.+)
replacement: ${1}://${2}${3}
target_label: __param_target
- target_label: __address__
replacement: blackbox-exporter.example.com:9115
- source_labels: [__param_target]
target_label: instance
- action: labelmap
regex: __meta_kubernetes_ingress_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_ingress_name]
target_label: kubernetes_name
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
\ No newline at end of file
yamls/monitor/prometheus-dep.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
apps/v1beta2
kind
:
Deployment
metadata
:
name
:
prometheus-dep
namespace
:
monitor
spec
:
replicas
:
1
selector
:
matchLabels
:
app
:
prometheus-dep
template
:
metadata
:
labels
:
app
:
prometheus-dep
spec
:
containers
:
-
image
:
prom/prometheus:v2.3.2
name
:
prometheus
command
:
-
"
/bin/prometheus"
args
:
-
"
--config.file=/etc/prometheus/prometheus.yml"
-
"
--storage.tsdb.path=/prometheus"
-
"
--storage.tsdb.retention=1d"
ports
:
-
containerPort
:
9090
protocol
:
TCP
volumeMounts
:
-
mountPath
:
"
/prometheus"
name
:
data
-
mountPath
:
"
/etc/prometheus"
name
:
config-volume
resources
:
requests
:
cpu
:
100m
memory
:
100Mi
limits
:
cpu
:
500m
memory
:
2500Mi
serviceAccountName
:
prometheus
imagePullSecrets
:
-
name
:
regsecret
volumes
:
-
name
:
data
emptyDir
:
{}
-
name
:
config-volume
configMap
:
name
:
prometheus-config
\ No newline at end of file
yamls/monitor/prometheus-pvc.yaml
0 → 100644
View file @
c00d616e
kind
:
PersistentVolumeClaim
apiVersion
:
v1
metadata
:
name
:
prometheus
namespace
:
kebe
spec
:
storageClassName
:
cbs-3
accessModes
:
-
ReadWriteOnce
resources
:
requests
:
storage
:
20Gi
\ No newline at end of file
yamls/monitor/prometheus-rbac.yaml
0 → 100644
View file @
c00d616e
apiVersion
:
rbac.authorization.k8s.io/v1beta1
kind
:
ClusterRole
metadata
:
name
:
prometheus
rules
:
-
apiGroups
:
[
"
"
]
resources
:
-
nodes
-
nodes/proxy
-
services
-
endpoints
-
pods
verbs
:
[
"
get"
,
"
list"
,
"
watch"
]
-
apiGroups
:
-
extensions
resources
:
-
ingresses
verbs
:
[
"
get"
,
"
list"
,
"
watch"
]
-
nonResourceURLs
:
[
"
/metrics"
]
verbs
:
[
"
get"
]
---
apiVersion
:
v1
kind
:
ServiceAccount
metadata
:
name
:
prometheus
namespace
:
monitor
---
apiVersion
:
rbac.authorization.k8s.io/v1beta1
kind
:
ClusterRoleBinding
metadata
:
name
:
prometheus
roleRef
:
apiGroup
:
rbac.authorization.k8s.io
kind
:
ClusterRole
name
:
prometheus
subjects
:
-
kind
:
ServiceAccount
name
:
prometheus
namespace
:
monitor
\ No newline at end of file
yamls/monitor/prometheus-svc.yaml
0 → 100644
View file @
c00d616e
kind
:
Service
apiVersion
:
v1
metadata
:
name
:
prometheus-svc
namespace
:
monitor
spec
:
type
:
NodePort
ports
:
-
port
:
9090
targetPort
:
9090
nodePort
:
30002
selector
:
app
:
prometheus-dep
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment