文章目录
一、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、导入监控模板