基于WEB的dashboard,用户可以用kubernetes dashboard部署容器话的应用,监控应用的状态,执行故障排查任务以及管理kubernetes各种资源。
在kubernetes dashboard中可以查看集群中应用的运行状态,也能创建和修改各种kubernetes资源,比如deployment,job,daemonset等。用户可以 Scale Up/Down Deployment、执行 Rolling Update、重启某个 Pod 或者通过向导部署新的应用。Dashboard 能显示集群中各种资源的状态以及日志信息。
开始安装
1. 下载kubernetes dashboard 的yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
2.修改yaml文件中的镜像地址,默认是在K8S的官网中下载的
我使用的是阿里的镜像:registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.0
3.修改yaml文件中的 - --apiserver-host=
这里我改成了master的地址
4.更改kubernetes-dashboard的service的类型,默认是ClusterIP 类型,更改为NodePort
kubectl --namespace=kube-system edit service kubernetes-dashboard
5.查看pod运行是否正常,
kubectl get pod --all-namespaces
如果状态不是running,请查看pod的详细信息kubectl describe pod kubernetes-dashboard-64767d465c-rh76t --namespace=kube-system
如果提示是镜像的原因,需要在yaml文件中更改源的地址
PS;删除dashboard的方法是:kubectl delete -f kubernetes-dashboard.yaml
6.访问k8s的图形化界面
首先查看pod映射出的端口是多少:kubectl get service --all-namespaces
通过https://masterip:端口 的方式访问
如果图形化界面提示不安全的连接什么的,请换个浏览器,或者不检查证书,我使用的是火狐浏览器
我是通过token的方式进行登陆的,获取token的方法如下:
kubectl get secret -n kube-system | grep dashboard
kubectl describe secret kubernetes-dashboard-token-gjbwq -n kube-system
将token复制进去,进入web界面,如果出现以下的错误:
由于 kube-apiserver 启用了 RBAC 授权,而yaml
没有定义授权的 ServiceAccount,所以后续访问 API server 的 API 时会被拒绝,
解决方案(Update docs to cover RBAC changes in K8S 1.6):
vim kube-dashboard-rbac.yml
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: kubernetes-dashboard
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
然后执行kubectl create -f kube-dashboard-rbac.yml
在web界面,退出后重新登陆
就ok了,实在还是不行的话,请参考https://www.cnblogs.com/Leo_wl/p/8511902.html#_label2
啊啊啊啊啊,好开心啊,今天星期五呢。反正是今天心情挺好的