dashboard是kubernetes的一个子项目,其他项目地址为 https://github.com/kubernetes/dashboard 。随着dashboard的更新,其安装方法与安装文件的位置可能会有变动。最新的文件位置可以到该项目网站上查找。
1. 下载dashboard到master节点kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
kubectl get namespace
3.查看service
kubectl get service -n kubernetes-dashboard
4.查看deployment
kubectl get deployment -n kubernetes-dashboard -o wide
5.查看pod
kubectl get pod -n kubernetes-dashboard -o wide
kubectl edit service -n kubernetes-dashboard kubernetes-dashboard
把ClusterIP改为NodePort
kubectl get service -n kubernetes-dashboard -o wide
https://192.168.19.194:8443/#/login
- a. 一定要用https
- b. 192.168.19.194为kubernetes-dashboard的pod的id
- c. 8443是第六步配置文件中设置的端口
如果没有反应,则登上几分钟,再试,可能其正在启动服务
各个worker节点也可以使用该url访问
8. Token登录
vi tonybai-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: tonybai
namespace: kube-system
kubectl create -f tonybai-user.yaml
ls
vi tonybai-user-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: dashboard:tonybai
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tonybai
namespace: kube-system
kubectl create -f tonybai-user-role-binding.yaml
kubectl get secret -n kube-system
注意,这里的knfmh是变化的,要改为自己的
kubectl describe secret/tonybai-token-knfmh -n kube-system
9. 通过apiserver访问
(非必须)
master上新建代理
kubectl proxy
使用如下域名在master节点上访问
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
10. 使用代理使外部机器可以访问
(非必须)
本地笔记本ssh转发到master节点
二、安装Heapster
# 下载heapster源码包
wget -c https://github.com/kubernetes/heapster/archive/master.zip
unzip master.zip
cd heapster-master/
ls
cd deploy/
ls
cd kube-config/
ls
cd influxdb/
ls
docker pull anjia0532/heapster-grafana-amd64:v4.4.3
docker pull anjia0532/heapster-amd64:v1.5.3
docker pull anjia0532/heapster-influxdb-amd64:v1.3.3
docker tag anjia0532/heapster-grafana-amd64:v4.4.3 k8s.gcr.io/heapster-grafana-amd64:v4.4.3
docker tag anjia0532/heapster-amd64:v1.5.3 k8s.gcr.io/heapster-amd64:v1.5.3
docker tag anjia0532/heapster-influxdb-amd64:v1.3.3 k8s.gcr.io/heapster-influxdb-amd64:v1.3.3
# 安装heapster
cd ~/heapster-master/deploy/kube-config
# (重要)将influxdb文件夹中的所有yaml文件中的组件版本号修改为上面我们打标签的版本号
kubectl create -f influxdb
kubectl create -f rbac/heapster-rbac.yaml
kubectl get pods -n kube-system
如果通过这里的pod的状态不为running,则可以查看对应的日志
kubectl describe pods/monitoring-grafana-69df66f668-xg7zp --namespace kube-system
我们发现其从node3节点查看镜像,所以,我们在node3也应该下载对应的镜像,下载并打上标签之后,再次查看所有pod就好了。
# 验证安装结果
kubectl top nodes
kubectl top pods -n kube-system
内容来自:
https://coding.imooc.com/class/284.html
https://blog.csdn.net/qq_41709494/article/details/104735008