This commit is contained in:
pengtao 2022-04-13 09:35:07 +08:00
parent ddfce77eaf
commit 595a7954d6
6 changed files with 92 additions and 10 deletions

View File

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: miles01 name: miles01
namespace: app02 namespace: default
labels: labels:
app: fastapi app: fastapi
spec: spec:

View File

@ -2,7 +2,7 @@ kind: Service
apiVersion: v1 apiVersion: v1
metadata: metadata:
name: miles01 name: miles01
namespace: app02 namespace: default
spec: spec:
type: NodePort type: NodePort
ports: ports:

View File

@ -1,14 +1,46 @@
apiVersion: v1 apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus-config
namespace: monitor
data: data:
prometheus.yml: | prometheus.yml: |-
global: global:
scrape_interval: 15s scrape_interval: 15s
evaluation_interval: 15s evaluation_interval: 15s
scrape_configs: scrape_configs:
- job_name: 'prometheus'
static_configs: - job_name: 'kubernetes-nodes'
- targets: ['localhost:9090'] tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
- job_name: 'kubernetes-service'
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: service
- job_name: 'kubernetes-endpoints'
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: endpoints
- job_name: 'kubernetes-ingress'
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: ingress
- job_name: 'kubernetes-pods'
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: pod
kind: ConfigMap
metadata:
name: prometheus-config

View File

@ -49,3 +49,6 @@ spec:
- name: prometheus-config - name: prometheus-config
configMap: configMap:
name: prometheus-config name: prometheus-config
serviceAccountName: prometheus
serviceAccount: prometheus
#https://www.acagroup.be/en/blog/auto-discovery-of-kubernetes-endpoint-services-prometheus/s

View File

@ -0,0 +1,45 @@
apiVersion: rbac.authorization.k8s.io/v1
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: default
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: prometheus
namespace: monitor
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: prometheus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: prometheus
subjects:
- kind: ServiceAccount
name: prometheus
namespace: default

View File

@ -15,6 +15,8 @@ kubectl config set-context test --namespace=app01 \
kubectl config set-context prod --namespace=production \ kubectl config set-context prod --namespace=production \
--cluster=docker-desktop \ --cluster=docker-desktop \
--user=docker-desktop --user=docker-desktop
kubectl config set-context monitor --namespace=monitor --cluster=kubernetes-cluster --user=kubernetes-admin
kubectl config view kubectl config view
# 切换环境到DEV # 切换环境到DEV
kubectl config use-context test kubectl config use-context test