午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

對于k8s微服務的性能測試監(jiān)控平臺搭建

 新進小設計 2022-08-25 發(fā)布于北京

之前有寫過對于傳統(tǒng)項目的性能測試監(jiān)控,但是對于目前市場占比已經(jīng)很低,大部分項目使用k8s,今天講一下對于k8s如何去監(jiān)控。

對于k8s的監(jiān)控我們所有的操作都要在master下進行。

一、部署grafana

作者會提供一個grafana的yaml文件,對于文件進行適配項目的修改即可

1、修改配置文件

 spec:
      containers:
      - name: grafana
    #鏡像版本號 image: grafana/grafana:7.2.1 ports: - containerPort: 3000 env: - name: GF_SECURITY_ADMIN_USER
      # 登錄賬號 value: admin - name: GF_SECURITY_ADMIN_PASSWORD
      #登錄密碼 value: admin123 volumeMounts: - mountPath: /var/lib/grafana/abc name: storage volumes: - name: storage nfs:
      #master的 ipv4地址 server: 192.0.0.1 path: /root/nfs-share

2、部署grafana

創(chuàng)建garafana pod

kubectl create -f /root/k8s/node_exporter.yaml

二、部署mysql_exporter

由于mysql_exporter是對mysql數(shù)據(jù)庫進行監(jiān)控,我們需要把mysql_exporter和mysql數(shù)據(jù)庫打包在一個pod中,所以要對項目原有的mysql yaml文件進行update

      - name: mysql-exporter
        env:
        - name: DATA_SOURCE_NAME
      # 數(shù)據(jù)庫賬號:密碼@(地址:端口) value: root:123@(127.0.0.1:3306)/ image: prom/mysqld-exporter imagePullPolicy: Always name: mysql-exporter ports: - containerPort: 9104 protocol: TCP volumes: - name: mysql-data nfs:
      #修改為master的ipv4地址 server: 192.168.19.133 path: /root/nfs-share --- apiVersion: v1 kind: Service metadata: name: mysql labels: name: mysql spec: type: NodePort ports: - port: 3306 nodePort: 30306 targetPort: 3306 name: mysql - port: 9104 protocol: TCP targetPort: 9104 nodePort: 30304 name: mysql-exporter selector: name: mysql

上面的為新增內(nèi)容(有部分會與當前已有的重復),新增后重建pod。

如果有多個節(jié)點請在replicas : 后面增加節(jié)點數(shù)

三、部署node_exporter

apiVersion: apps/v1
# DaemonSet 方式會在所有綁定master的節(jié)點下安裝 kind: DaemonSet metadata: name: node-exporter namespace: kube-system labels: k8s-app: node-exporter spec: selector: matchLabels: k8s-app: node-exporter template: metadata: labels: k8s-app: node-exporter spec: containers: - image: prom/node-exporter name: node-exporter ports: - containerPort: 9100 protocol: TCP name: http --- apiVersion: v1 kind: Service metadata: labels: k8s-app: node-exporter name: node-exporter namespace: kube-system spec: ports: - name: http port: 9100 nodePort: 31672 protocol: TCP type: NodePort selector: k8s-app: node-exporter

創(chuàng)建node_exporter pod:

kubectl create -f /root/k8s/node_exporter.yaml

 

四、部署Prometheus

1.修改configmap.yaml文件

    - job_name: k8s-nodes
      static_configs:
      - targets:
- 192.168.1.180:31672
     # master 節(jié)點ip - 192.168.1.181:31672
# node1 節(jié)點ip - 192.168.1.182:31672
# node2 節(jié)點ip - job_name: mysql static_configs: - targets: - 192.168.1.180:30304
     # master 節(jié)點ip

2.訪問prometheus,http://ip:30003/targets

3.訪問grafana并配置http://ip:31000/login,用戶名和密碼為創(chuàng)建pod時設置的賬號密碼。

4.配置Prometheus數(shù)據(jù)源 http://ip:30003 

  30003端口是在配置文件prometheus.svc.yml中配置

導入模板后的效果給大家看一下:

 

 

 五、新增節(jié)點監(jiān)控操作

如果集群中新增一個節(jié)點,此時我們的監(jiān)控已經(jīng)完成,我們應該如何去操作

1.當一個新的節(jié)點新增到集群中,node_exporter會自動在新的節(jié)點下創(chuàng)建一個pod,所以這里不需要額外操作

2.需要對Prometheus的配置文件進行uodate:

  修改配置文件configmap.yaml:

    - job_name: k8s-nodes
      static_configs:
      - targets:
        - 192.168.1.180:31672
        - 192.168.1.181:31672
        - 192.168.1.182:31672
        # 增加新的節(jié)點地址
        - 192.168.1.183:31672

  然后執(zhí)行下面的操作:

kubectl replace -f configmap.yaml #替換配置文件
kubectl delete -f prometheus.deploy.yml#刪除服務
kubectl create -f prometheus.deploy.yml #重建服務

此時,新的節(jié)點監(jiān)控添加完成

 

文章中提到的所有yaml文件分享在下面地址中,可以自行下載,如果需要監(jiān)控模板可以發(fā)送私信索要,如果還不清楚如何導入模板可以查看歷史隨筆。

鏈接:https://pan.baidu.com/s/17wV1m1fQK8oA4R92bPDeqg



 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多