Linux操作文档——k8s集群监控


一、dashboard

1、下载yaml文件

[root@master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

2、更改配置文件使暴露端口

[root@master ~]# vim recommended.yaml 
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort        //添加
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
[root@master ~]# kubectl apply -f recommended.yaml
[root@master ~]# kubectl get svc -n kubernetes-dashboard 
NAME                        TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.110.42.67   <none>        8000/TCP        7s
kubernetes-dashboard        NodePort    10.109.8.6     <none>        443:31827/TCP   7s

在这里插入图片描述

3、基于token的方法登录dashboard

1、创建一个dashboard的管理用户

[root@master ~]# kubectl create serviceaccount dashboard-admin -n kube-system

2、绑定用户为集群管理用户

[root@master ~]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

3、获取token

[root@master ~]# kubectl get secrets -n kube-system | grep dashboard-admin
dashboard-admin-token-c858h                      kubernetes.io/service-account-token   3      70s
[root@master ~]# kubectl describe secrets -n kube-system dashboard-admin-token-c858h 
Name:         dashboard-admin-token-c858h
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: 8ea125b1-54e0-43f3-be30-1fb3dba75bf7

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1025 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tYzg1OGgiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOGVhMTI1YjEtNTRlMC00M2YzLWJlMzAtMWZiM2RiYTc1YmY3Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.BIIa1T3gQ58wzG3Z2HAnMWolGk1kAcxs0bdPOQyzUs27UvK9g5o3u9A-7vPJipSQUq3Nc8OkwWhwS_-xzyZUAPeW6ZVlaf67YwtoX9A8O66siDiIz9nC6W0jeWifNM9HiyftbKRV9iWszHypaMAm2Y1Qal_0h5EGru1tIr0uRLAkoLUTvz1LVNZ6ped_rjiz3RphnYFwPZBAcjJYIp1T-vwFu6zzt0t6pEnkOIEjKBlcxLI2O3f40R3L3SEkp-7KRzlwkKbWyIlV7Xvaje1t77BOhYloWMIDRJVZ-AqNafJfUtdbZM9_v49PpDdQZfycwU3ek2qfYBOp8FQYHlaiww

4、使用token登录

在这里插入图片描述
在这里插入图片描述

二、Prometheus

由于k8s版本为1.15.0,所以采用0.3.0版本进行部署

1、下载项目

[root@master ~]# wget https://github.com/prometheus-operator/kube-prometheus/archive/v0.3.0.tar.gz
[root@master ~]# tar zxf v0.3.0.tar.gz

2、更改配置文件

[root@master ~]# cd kube-prometheus-0.3.0/manifests/
[root@master manifests]# vim grafana-service.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
    app: grafana
  name: grafana
  namespace: monitoring
spec:
  type: NodePort         //添加
  ports:
  - name: http
    port: 3000
    targetPort: http
    nodePort: 31001         //添加
  selector:
    app: grafana
  type: NodePort
[root@master manifests]# vim prometheus-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    prometheus: k8s
  name: prometheus-k8s
  namespace: monitoring
spec:
  type: NodePort         //添加
  ports:
  - name: web
    port: 9090
    targetPort: web
    nodePort: 31002         //添加
  selector:
    app: prometheus
    prometheus: k8s
  sessionAffinity: ClientIP
[root@master manifests]# vim alertmanager-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    alertmanager: main
  name: alertmanager-main
  namespace: monitoring
spec:
  type: NodePort         //添加
  ports:
  - name: web
    port: 9093
    targetPort: web
    nodePort: 31003         //添加
  selector:
    alertmanager: main
    app: alertmanager
  sessionAffinity: ClientIP

3、基础环境配置

[root@master manifests]# kubectl apply -f setup/

4、运行主yaml文件

[root@master manifests]# cd ../
[root@master kube-prometheus-0.3.0]# kubectl apply -f manifests/

5、查看资源使用情况

[root@master kube-prometheus-0.3.0]# kubectl top node
NAME     CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master   226m         11%    1512Mi          87%       
node01   89m          4%     1360Mi          79%       
node02   86m          4%     1327Mi          77%  

6、浏览器访问grafana

默认账号:admin 密码: admin
在这里插入图片描述

7、导入监控模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/g950904/article/details/109725642