基于WEB的dashboard,用户能够用kubernetes dashboard部署容器话的应用,监控应用的状态,执行故障排查任务以及管理kubernetes各类资源。html
在kubernetes dashboard中能够查看集群中应用的运行状态,也能建立和修改各类kubernetes资源,好比deployment,job,daemonset等。用户能够 Scale Up/Down Deployment、执行 Rolling Update、重启某个 Pod 或者经过向导部署新的应用。Dashboard 能显示集群中各类资源的状态以及日志信息。git
开始安装github
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.0web
3.修改yaml文件中的 - --apiserver-host=vim
这里我改为了master的地址api
4.更改kubernetes-dashboard的service的类型,默认是ClusterIP 类型,更改成NodePort浏览器
kubectl --namespace=kube-system edit service kubernetes-dashboard安全
5.查看pod运行是否正常,google
kubectl get pod --all-namespacesspa
若是状态不是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
啊啊啊啊啊,好开心啊,今天星期五呢。反正是今天心情挺好的