Kubernetes实战:部署集群监控prometheus-operator

1. 下载最新版、解压

wget https://github.com/coreos/prometheus-operator/archive/v0.23.2.tar.gz

2. 部署

官方提示默认在default命名空间下创建,这里我们修改一下

Note: make sure to adapt the namespace in the ClusterRoleBinding if deploying in another namespace than the default namespace.

编辑prometheus-operator-0.23.2目录下的bundle.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: prometheus-operator
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: prometheus-operator
subjects:
- kind: ServiceAccount
  name: prometheus-operator
  namespace: monitoring
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: prometheus-operator
rules:
- apiGroups:
  - apiextensions.k8s.io
  resources:
  - customresourcedefinitions
  verbs:
  - '*'
- apiGroups:
  - monitoring.coreos.com
  resources:
  - alertmanagers
  - prometheuses
  - prometheuses/finalizers
  - alertmanagers/finalizers
  - servicemonitors
  - prometheusrules
  verbs:
  - '*'
- apiGroups:
  - apps
  resources:
  - statefulsets
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - configmaps
  - secrets
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - list
  - delete
- apiGroups:
  - ""
  resources:
  - services
  - endpoints
  verbs:
  - get
  - create
  - update
- apiGroups:
  - ""
  resources:
  - nodes
  verbs:
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - namespaces
  verbs:
  - list
  - watch
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  labels:
    k8s-app: prometheus-operator
  name: prometheus-operator
  namespace: monitoring
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: prometheus-operator
  template:
    metadata:
      labels:
        k8s-app: prometheus-operator
    spec:
      containers:
      - args:
        - --kubelet-service=kube-system/kubelet
        - --logtostderr=true
        - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1
        - --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.23.2
        image: quay.io/coreos/prometheus-operator:v0.23.2
        name: prometheus-operator
        ports:
        - containerPort: 8080
          name: http
        resources:
          limits:
            cpu: 200m
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 100Mi
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
      nodeSelector:
        beta.kubernetes.io/os: linux
      securityContext:
        runAsNonRoot: true
        runAsUser: 65534
      serviceAccountName: prometheus-operator
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: prometheus-operator
  namespace: monitoring

⚠️注意:上文有三处namespace需要修改

-> 执行创建

kubectl create -f bundle.yaml 

-> 部署kube-prometheus

kubectl create -f prometheus-operator-0.23.2/contrib/kube-prometheus/manifests

-> 查看结果

[root@master manifests]# kubectl get all -n monitoring 
NAME                                       READY     STATUS    RESTARTS   AGE
pod/alertmanager-main-0                    2/2       Running   0          3h
pod/alertmanager-main-1                    2/2       Running   0          3h
pod/alertmanager-main-2                    2/2       Running   0          3h
pod/grafana-8668cff847-dxl8p               1/1       Running   0          3h
pod/kube-state-metrics-f884b88b-5cg5t      4/4       Running   0          3h
pod/node-exporter-cx8pq                    2/2       Running   0          3h
pod/node-exporter-knvm4                    2/2       Running   0          3h
pod/node-exporter-whdx7                    2/2       Running   0          3h
pod/node-exporter-zjx4s                    2/2       Running   0          3h
pod/prometheus-k8s-0                       3/3       Running   1          3h
pod/prometheus-k8s-1                       3/3       Running   1          3h
pod/prometheus-operator-6694d94d6b-jbjvh   1/1       Running   0          3h

NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
service/alertmanager-main       NodePort    10.105.80.137    <none>        9093:31113/TCP      3h
service/alertmanager-operated   ClusterIP   None             <none>        9093/TCP,6783/TCP   3h
service/grafana                 NodePort    10.101.237.193   <none>        3000:31112/TCP      3h
service/kube-state-metrics      ClusterIP   None             <none>        8443/TCP,9443/TCP   3h
service/node-exporter           ClusterIP   None             <none>        9100/TCP            3h
service/prometheus-k8s          NodePort    10.106.94.116    <none>        9090:31114/TCP      3h
service/prometheus-operated     ClusterIP   None             <none>        9090/TCP            3h
service/prometheus-operator     ClusterIP   None             <none>        8080/TCP            3h

NAME                           DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
daemonset.apps/node-exporter   4         4         4         4            4           beta.kubernetes.io/os=linux   3h

NAME                                  DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/grafana               1         1         1            1           3h
deployment.apps/kube-state-metrics    1         1         1            1           3h
deployment.apps/prometheus-operator   1         1         1            1           3h

NAME                                             DESIRED   CURRENT   READY     AGE
replicaset.apps/grafana-8668cff847               1         1         1         3h
replicaset.apps/kube-state-metrics-6dfc9b9844    0         0         0         3h
replicaset.apps/kube-state-metrics-f884b88b      1         1         1         3h
replicaset.apps/prometheus-operator-6694d94d6b   1         1         1         3h

NAME                                 DESIRED   CURRENT   AGE
statefulset.apps/alertmanager-main   3         3         3h
statefulset.apps/prometheus-k8s      2         2         3h

修改访问方式(集群外部访问)
svc的访问方式改为NodePort模式,使用kubectl edit svc [svcname] -n monitoring方式修改

[root@master manifests]# kubectl get svc -n monitoring 
alertmanager-main       NodePort    10.105.80.137    <none>        9093:31113/TCP      3h
alertmanager-operated   ClusterIP   None             <none>        9093/TCP,6783/TCP   3h
grafana                 NodePort    10.101.237.193   <none>        3000:31112/TCP      3h
kube-state-metrics      ClusterIP   None             <none>        8443/TCP,9443/TCP   3h
node-exporter           ClusterIP   None             <none>        9100/TCP            3h
prometheus-k8s          NodePort    10.106.94.116    <none>        9090:31114/TCP      3h
prometheus-operated     ClusterIP   None             <none>        9090/TCP            3h
prometheus-operator     ClusterIP   None             <none>        8080/TCP            3h

3. 测试

访问alertmanager-main
https://masterIp:31113

访问prometheus-k8s
https://masterIp:31114

访问grafana
https://masterIp:31112

输入密码就可以了(初始化用户名密码admin)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容