K8S取り付けプロメテウス+ grafana

:K8Sは+ Grafanaプロメテウスインストール
 1をkubernetestクラスタ内の名前空間を作成するために:.
[マスターK8S @ルート#1 CAT -promethus]名前空間.yaml
apiVersion:V1の
種類:名前空間
メタデータ:
  名前:NS-モニター
  ラベル:
    名前:NS-モニタ

[ルート@Master K8S-promethus] -f#kubectlが適用名前空間を.yaml




リンパ節転移2.インストール:輸出 
[マスターK8S @ルート-promethus] CAT#リンパ節転移exporter.yaml
種類:DaemonSet
apiVersion:アプリ/V1
メタデータ:
  ラベル:
    アプリケーション:ノード-輸出
  名:ノード - 輸出の
   名前空間:NS- モニター
仕様:
  revisionHistoryLimit:10 
  セレクタ:
    matchLabels:
      アプリ:ノード - 輸出
  テンプレート:
    メタデータ:
      ラベル:
        アプリ:ノード - 輸出
    仕様:
      コンテナ:
         -名:リンパ節転移輸出
          画像:PROM /ノード・輸出:V0。16.0 
          ポート:
             - containerPort:9100 
              プロトコル:TCPの
              名:HTTP 
      hostNetwork:
      hostPID:
      tolerations:
         - 効果:NoScheduleの
           オペレータは:存在

 --- 
種類:サービス
apiVersionを:v1の
メタデータ:
  ラベル:
    アプリ:ノード - 輸出
  名:ノード -exporter- サービス
   名前空間:NS- モニター
仕様:
  ポート:
     - 名前: HTTP 
      ポート:9100 
      プロトコル:TCP 
  タイプ:NodePortの
  セレクター:
    アプリ:ノード - 輸出

[マスター@ルートK8S -promethus]位-fリンパ節転移を適用kubectlexporter.yaml 

[マスター@ルートK8S
-promethus]#kubectl GETポッド-n NS-モニター- oを広い NAME READYのステータスが再起動AGE IPノードは準備GATESにノミネート ノード -exporter-cl6d5 1 / 1 実行 15 3h15m 192.168100.64 試験<なし> <なし> ノード -exporter-gwwnj 1 / 1 の実行 0 3h15m 192.168100.201 ノード1 <なし> <なし> ノード -exporter-hbglm 1 / 1 実行 0 3h15m 192.168100.200 マスター<なし> <なし> ノード -exporter-kwsfv 1 / 1 の実行 0 3h15m 192.168100.202 ノード2 <なし> <なし> [ルート@マスターK8S -promethus]#kubectl GET SVC -n NS- 監視 NAME TYPE CLUSTER -IP EXTERNAL- IP PORT(S)AGEの ノード -exporterサービスNodePort 10.99128.173 <なし> 910030 372 / TCP 3h17m

アクセステスト:


説明:ノード-輸出業者が正常に実行されています。
 

 
 
3 。部署プロメテウス:
注意:prometheus.yaml中包含RBAC认证、ConfigMap等
[ルート@ K8Sマスター
-promethus]#適用kubectl -F prometheus.yaml
clusterrole.rbac.authorization.k8s.io
/プロメテウス不変 serviceaccount/プロメテウス不変 clusterrolebindingを.rbac.authorization.k8s.io/プロメテウス変わらない configmap/ prometheus-confに変わらない configmap/ prometheus-ルール変わらない persistentvolume/プロメテウス-DATA-PV変わらない persistentvolumeclaim/プロメテウス-DATA-PVC変わらない deployment.apps/変わらずプロメテウス サービス / prometheus- サービス変更なし 注:このプロメテウス中古PVで、PVCローカルストレージを行います。したがって、このようなニーズが良いNFS、展開ここでは省略NFS配備する前に必要である
[ルート@マスターK8S
-promethus]#kubectl GET PV -n NS- モニター CAPACITY ACCESSMODES RECLAIM政策請求STORAGECLASSステータス理由AGEでNAME プロメテウス -data-PV 5Gi RWOをバウンドNS-Monitorのリサイクル/プロメテウス-DATA- PVCの157メートル [ルート@マスターK8S -promethus]#kubectl GET PVC -n NS- Monitorの キャパアクセス・モードSTORAGECLASS STATUSのNAME VOLUME AGE プロメテウス縛られたプロメテウス-PVC -データDATA- PV 5Gi RWO 158メートル 説明:。この時点で、PVCで正常にバインドされてPV [マスターK8S @ルート -promethus]#kubectl GET POD -n NS- モニター NAME AGE READY STATUSの再起動 ノード -exporter-をcl6d5 。1 / 1 ランニング 15 3h27m ノード -exporter-gwwnj 。1 / 1 の実行 0 3h27m ノード -exporter-hbglm 。1 / 1は、 ランニング 0を 3h27m ノード -exporter-kwsfv 1 / 1 の実行 0 3h27m プロメテウス -dd69c4889-qwmww 1 / 1 実行 0 161メートルを [マスター@ルートK8S -promethus]#kubectl GET SVC -N NS- 監視 NAME TYPE CLUSTER -IP EXTERNAL- IPポート( S)AGEの ノード -exporterサービスNodePort 10.99128.173 <なし> 910030372 / TCP 3h29m プロメテウスNodePort -service 10.96119.235 <なし> 909031555 / TCP 162メートルのアクセステスト:

説明:プロメテウスが正常に実行されました。
 
 
4.在kubernetest中部署grafana:
[root@master k8s-promethus]# cat grafana.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: "grafana-data-pv"
  labels:
    name: grafana-data-pv
    release: stable
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /data/volumes/v2
    server: 192.168.100.64
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: grafana-data-pvc
  namespace: ns-monitor
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
  selector:
    matchLabels:
      name: grafana-data-pv
      release: stable
---
kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    app: grafana
  name: grafana
  namespace: ns-monitor
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      securityContext:
        runAsUser: 0
      containers:
        - name: grafana
          image: grafana/grafana:latest
          imagePullPolicy: IfNotPresent
          env:
            - name: GF_AUTH_BASIC_ENABLED
              value: "true"
            - name: GF_AUTH_ANONYMOUS_ENABLED
              value: "false"
          readinessProbe:
            httpGet:
              path: /login
              port: 3000
          volumeMounts:
            - mountPath: /var/lib/grafana
              name: grafana-data-volume
          ports:
            - containerPort: 3000
              protocol: TCP
      volumes:
        - name: grafana-data-volume
          persistentVolumeClaim:
            claimName: grafana-data-pvc
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: grafana
  name: grafana-service
  namespace: ns-monitor
spec:
  ports:
    - port: 3000
      targetPort: 3000
  selector:
    app: grafana
  type: NodePort

[root@master k8s-promethus]# kubectl apply -f grafana.yaml 
persistentvolume/grafana-data-pv unchanged
persistentvolumeclaim/grafana-data-pvc unchanged
deployment.apps/grafana unchanged
service/grafana-service unchanged
注意:此时grafana也需要pvc.

[root@master k8s-promethus]# kubectl get pv,pvc -n ns-monitor 
NAME                               CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                            STORAGECLASS   REASON   AGE
persistentvolume/grafana-data-pv      5Gi         RWO         Recycle          Bound    ns-monitor/grafana-data-pvc                           164m
persistentvolume/prometheus-data-pv   5Gi         RWO         Recycle          Bound    ns-monitor/prometheus-data-pvc                        168m

NAME                                         STATUS       VOLUME           CAPACITY   ACCESS MODES   STORAGECLASS   AGE
persistentvolumeclaim/grafana-data-pvc       Bound     grafana-data-pv       5Gi         RWO                         164m
persistentvolumeclaim/prometheus-data-pvc    Bound    prometheus-data-pv     5Gi         RWO                          168m

[root@master k8s-promethus]# kubectl get pod -n ns-monitor 
NAME                         READY   STATUS    RESTARTS   AGE
grafana-576db894c6-4qtcl     1/1     Running   0          166m
node-exporter-cl6d5          1/1     Running   15         3h36m
node-exporter-gwwnj          1/1     Running   0          3h36m
node-exporter-hbglm          1/1     Running   0          3h36m
node-exporter-kwsfv          1/1     Running   0          3h36m
prometheus-dd69c4889-qwmww   1/1     Running   0          169m


[root@master k8s-promethus]# kubectl get svc -n ns-monitor 
NAME                    TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
grafana-service         NodePort   10.104.174.223   <none>        3000:30771/TCP   166m
node-exporter-service   NodePort   10.99.128.173    <none>        9100:30372/TCP   3h37m
prometheus-service      NodePort   10.96.119.235    <none>        9090:31555/TCP   170m


访问测试:


说明:Grafana已经部署完成,用户名/密码:admin/admin


添加数据源:URL=http://prometheus-service.ns-monitor.svc.cluster.local:9090



导入模板:

 

おすすめ

転載: www.cnblogs.com/ccbyk-90/p/12004287.html