Kubernetes之Dashboard面板

Kubernetes Dashboard部署

 参考:https://github.com/kubernetes/dashboard

           https://www.jianshu.com/p/5ff6e26d1912

 

[root@master yaml]# cd dashboard/

[root@master dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

 报错:

Warning  Failed          8m34s                   kubelet, node2     Failed to pull image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v1/_ping: dial tcp 74.125.203.82:443: getsockopt: connection refused

 

处理:

[root@master ~]# docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1

[root@master ~]# docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

  Google镜像操作:从国内某站下载镜像,到本地再上传到个人dockerhub站点。

[root@master ~]# docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 szsunny/kubernetes-dashboard-amd64:v1.10.1

[root@master ~]# docker push szsunny/kubernetes-dashboard-amd64:v1.10.1

镜像推送到私有仓库。

 

查看,推送成功,

Node节点下载镜像。

[root@node1 ~]# docker pull szsunny/kubernetes-dashboard-amd64:v1.10.1

[root@node1 ~]# docker tag  szsunny/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

[root@node1 ~]#

多个节点均有执行此操作。

重新部署项目。

[root@master dashboard]# kubectl delete -f kubernetes-dashboard.yaml

[root@master dashboard]# kubectl create -f kubernetes-dashboard.yaml

[root@master ~]# kubectl get pods -n kube-system |grep dashboard

kubernetes-dashboard-57df4db6b-g4zgd   1/1     Running   0          64s

 

查看服务并访问,

[root@master ~]# kubectl get svc -n kube-system       

NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE

kube-dns      ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP   13d

kubernetes-dashboard  ClusterIP   10.107.243.13   <none>        443/TCP         11m

[root@master ~]# curl https://10.107.243.13 --insecure

 

默认是Clusterip地址,外部不能直接访问。

可以打补丁,使用nodeport暴露实现,也可使用ingress-nginx实现。

先以为打补丁方式使用nodeport方式实现。

 

打补丁只会修改临时文件,不会修改器原始yml文件

[root@master dashboard]# kubectl patch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' -n kube-system

 

[root@master dashboard]# kubectl edit svc/kubernetes-dashboard  -n kube-system

 

选择Firefox浏览器登录页面。

 

使用默认的账号kubernetes-dashboard的Token登陆,会提示权限不足,

[root@master ~]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kubernetes-dashboard | awk '{print $1}')

 

 

创建自己的账号登录,

[root@master dashboard]# kubectl create -f dash-cluster-admin.yaml

[root@master ~]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

 

页面查看,正常显示。自此,nodeport暴露dashboard方式已经实现。

 

通过ingress-nginx暴露,参考后期ingress配置。

posted @ 2019-05-22 18:50  wang_wei123  阅读(461)  评论(0编辑  收藏  举报