: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.168。100.64 試験<なし> <なし> ノード -exporter-gwwnj 1 / 1 の実行 0 3h15m 192.168。100.201 ノード1 <なし> <なし> ノード -exporter-hbglm 1 / 1 実行 0 3h15m 192.168。100.200 マスター<なし> <なし> ノード -exporter-kwsfv 1 / 1 の実行 0 3h15m 192.168。100.202 ノード2 <なし> <なし> [ルート@マスターK8S -promethus]#kubectl GET SVC -n NS- 監視 NAME TYPE CLUSTER -IP EXTERNAL- IP PORT(S)AGEの ノード -exporterサービスNodePort 10.99。128.173 <なし> 9100:30 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.99。128.173 <なし> 9100:30372 / TCP 3h29m プロメテウスNodePort -service 10.96。119.235 <なし> 9090:31555 / 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
导入模板: