Dashboard 安装部署
Dashboard 安装部署
一:下载
二:部署步骤
1.镜像下载及导入
国内直接拉外网镜像会失败,可在境外下载镜像
查看 deployment 里的镜像版本
Dashboard Deployment
containers:
- name: kubernetes-dashboard
image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
下载
docker pull k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
保存
docker save k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 >kubernetes-dashboard-amd64_v1.10.1.tgz
存储到目标Node节点上或存储到私有仓库里,并修改dashboard deploy的镜像地址
导入镜像
docker load < kubernetes-dashboard-amd64_v1.10.1.tgz
2.创建Dashboard
导入镜像后,使用之前下载的yaml文件即可创建Dashboard:
kubectl create -f kubernetes-dashboard.yaml
默认svc没有暴露 nodeport端口,需要修正
kubectl get svc -n kube-system
kubectl delete svc kubernetes-dashboard -n kube-system
#cat dashboard_svc.yaml
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
ports:
- port: 443
targetPort: 8443
nodePort: 38443
selector:
k8s-app: kubernetes-dashboard
type: NodePort
kubectl create -f dashboard_svc.yaml
3.访问Dashboard
根据官方文档,目前访问Dashboard有四种方式:
- NodePort
- API Server
- kubectl proxy
- Ingress
使用NodePort
为kubernetes-dashboard.yaml添加Service后,就可以使用NodePort访问Dashboard。
目前使用firefox 浏览器访问正常,其他浏览器提示证书错误
创建访问角色:
创建一个cluster-admin角色的service account , 和一个clusterrolebinding, 以便访问所有的k8s资源
>kubectl create serviceaccount cluster-admin-dashboard-sa
>kubectl create clusterrolebinding cluster-admin-dashboard-sa \
--clusterrole=cluster-admin \
--serviceaccount=default:cluster-admin-dashboard-sa
Copy产生的Token,并使用此Token登录到dashboard中
>kubectl get secret | grep cluster-admin-dashboard-sa
>kubectl describe secrets/cluster-admin-dashboard-sa-token-cp4th
使用令牌访问