kubernetes dashboard安装教程接上一章K8S安装

安装kubernetes dashboard前,默认k8s已经安装成功!需要安装的可以转上一篇查看。

下面开始安装kubernetes dashboard:

1、在Master节点上面执行

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

2、查看dashboard Pod节点运行情况

 kubectl get pod -n kube-system

注意:如果kubernetes dashboard 已经是 Running的话,那就说明安装成功了。但一般情况下在不进行翻墙的状况下,都会是:

kubernetes-dashboard-57df4db6b-9qxn5   0/1     ErrImagePull   0          25s

3、使用命令查看问题

kubectl describe pod kubernetes-dashboard-57df4db6b-9qxn5 -n kube-system

.... #此处省略其他信息主要看下面
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  41s                default-scheduler  Successfully assigned kube-system/kubernetes-dashboard-57df4db6b-9qxn5 to k8s2
  Warning  Failed     39s                kubelet, k8s2      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/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Failed     39s                kubelet, k8s2      Error: ErrImagePull
  Normal   BackOff    39s                kubelet, k8s2      Back-off pulling image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"
  Warning  Failed     39s                kubelet, k8s2      Error: ImagePullBackOff
  Normal   Pulling    27s (x2 over 54s)  kubelet, k8s2      pulling image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"

很明显错误原因是在K8s2上面无法获取镜像文件,那么既然我们无法从Google获取就是用docker直接拉取。

docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1
docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
docker rmi mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1

如果你读了上一篇文章此处应该知道是干啥的。

注意:镜像的拉取一定是在查看错误里面的From 所在的节点,如果在你的Master上面进行镜像拉取或者其他节点的话,问题依然还是无法解决的。

4、回到Master节点 查看dashboard Pod 节点状态

 kubectl get pod -n kube-system
NAME                                   READY   STATUS    RESTARTS   AGE
coredns-86c58d9df4-j9g8d               1/1     Running   0          7h24m
coredns-86c58d9df4-pg45w               1/1     Running   0          7h24m
etcd-k8s1                              1/1     Running   0          7h24m
kube-apiserver-k8s1                    1/1     Running   0          7h24m
kube-controller-manager-k8s1           1/1     Running   0          7h24m
kube-flannel-ds-amd64-7btlw            1/1     Running   0          6h47m
kube-flannel-ds-amd64-9vq42            1/1     Running   0          7h3m
kube-flannel-ds-amd64-kdf42            1/1     Running   0          6h47m
kube-proxy-dtmfs                       1/1     Running   0          7h24m
kube-proxy-p76tc                       1/1     Running   0          6h47m
kube-proxy-xgw28                       1/1     Running   0          6h47m
kube-scheduler-k8s1                    1/1     Running   0          7h24m
kubernetes-dashboard-57df4db6b-9qxn5   1/1     Running   0          27s

不出意外会启动成功了,如果依旧出现错误: 请先删除pod,然后重新创建(注意有可能创建的节点发生了变化,从k8s2变成了k8s3,所以还是需要手动拉取镜像)

kubectl delete pod kubernetes-dashboard-57df4db6b-9qxn5 -n kube-system #删除节点命令

5、访问kubernetes dashboard ,两种方式进行访问:
1、NodePort 方式访问
创建NodePort 方式访问可以两种方式:
①是将kubernetes-dashboard.yaml文件下载到本地(使用 wget 命令将上面第一条命令的连接下载文件)
然后在Service 中添加 type: NodePort
②不用下载文件 ,在dashboard搭建成功后 进行动态修改命令如下:

kubectl patch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' -n kube-system

查看可访问的接口

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   7h26m
kubernetes-dashboard   NodePort    10.109.189.52   <none>        443:30346/TCP   6h37m

即访问地址为:https://192.168.10.202:30346

此处有坑:切忌 是HTTPS协议 你用HTTP访问是无法访问地,被此地坑惨了。

2、kubectl proxy 方式访问
访问地址:(没错这次是http协议不是https IP地址为master的IP地址)

http://192.168.10.202:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login

如果你是在kubernetes dashboard的github上面看到 只需要执行kubectl proxy 就能访问 你可以尝试 一下,你能不能访问我不知道,我只知道这家伙坑惨我了,说啥也不能访问。

原因在于:

[root@k8s1 ~]# kubectl proxy 
[root@k8s1 ~]# Starting to serve on 127.0.0.1:8001 #原因在这个127.0.0.1 上面 ,外部访问是无法访问到这个地址的

#修改如下
[root@k8s1 ~]#  kubectl proxy --address=0.0.0.0
[root@k8s1 ~]# Starting to serve on [::]:8001

#这回应该可以了吧,访问地址 提示“Forbidden ” 啥意思 禁止访问   咋整继续修改命令

[root@k8s1 ~]# kubectl proxy --address='0.0.0.0'  --accept-hosts='^*$'
[root@k8s1 ~]# Starting to serve on [::]:8001

#这会访问终于见到了自己想要的界面

6、登陆kubernetes dashboard 这里只介绍Token登陆方式

①使用默认的账号kubernetes-dashboard的Token登陆

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kubernetes-dashboard | awk '{print $1}')

.... #此处省略
ca.crt:     1025 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1qeGQ3aCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjBlOTYxODk1LTBiMGYtMTFlOS1hOGZlLTA4MDAyNzk4MGYxNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.QeIQ4T3EikE9ZIWkv4lInxuQ-TZmJT6XBEBaNTsL-bKQ7XQENKESqo0VtUHEngtYYs4qf8Z_U2_0c5gOHiVrkak_OqSAbUW8UwI9DOXygDvjmZyYdkpVH5iF06TWCEjMISPC6m4d9_czcXkGVPMlICJs-5C1tuJgReT7v4sspW8OUTfBezC1KMbvpuPYGNoE1d9WCQmNo75XU0vV9ie0r_YFhd-0irqU45RzvXM7HDrzvdBJotNpxgp-lNRDuz0V5HHf8NYThKWocFSxbJlz3MorXU8bRuXUE2SSwXIR4lmCIWZw1IzGGzziWknbxEdBFSGVnUz5ZFFvU3vnW5Fqdw

#token就是登陆所需要的内容

但是这里填进去后登陆你会发现问题:

11.png

黄色啥意思.....啥意思.....

就是禁止访问的意思,别多想。

出现这个问题是因为账户权限不足,因为kubernetes使用了RBAC用户角色访问控制,如果你查看kubernetes-dashboard.yaml文件中创建的kubernetes-dashboard是RoleBinding而不是ClusterRoleBinding就知道问题所在了。

那咋办,凉拌二

②自己创建账号

# ------------------- Dashboard Service Account ------------------- #

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

---
# ------------------- Dashboard ClusterRoleBinding ------------------- #

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

将上面内容 保存到文件 cluster-admin.yaml中。

kubectl apply -f cluster-admin.yaml #创建成功后获取它的token

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep cluster-admin | awk '{print $1}')

#用对应的token登陆 即可。

7、至此kubernetes dashboard 安装完毕,遇到的坑真的不少,如果你也遇到了,可以跟大家分享一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容