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

安裝kubernetes dashboard前,默認(rèn)k8s已經(jīng)安裝成功但金!需要安裝的可以轉(zhuǎn)上一篇查看晴及。

下面開始安裝kubernetes dashboard:

1、在Master節(jié)點(diǎn)上面執(zhí)行

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

2美侦、查看dashboard Pod節(jié)點(diǎn)運(yùn)行情況

 kubectl get pod -n kube-system

注意:如果kubernetes dashboard 已經(jīng)是 Running的話,那就說明安裝成功了魂奥。但一般情況下在不進(jìn)行翻墻的狀況下菠剩,都會(huì)是:

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"

很明顯錯(cuò)誤原因是在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

如果你讀了上一篇文章此處應(yīng)該知道是干啥的准颓。

注意:鏡像的拉取一定是在查看錯(cuò)誤里面的From 所在的節(jié)點(diǎn),如果在你的Master上面進(jìn)行鏡像拉取或者其他節(jié)點(diǎn)的話棺妓,問題依然還是無法解決的攘已。

4、回到Master節(jié)點(diǎn) 查看dashboard Pod 節(jié)點(diǎn)狀態(tài)

 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

不出意外會(huì)啟動(dòng)成功了怜跑,如果依舊出現(xiàn)錯(cuò)誤: 請(qǐng)先刪除pod样勃,然后重新創(chuàng)建(注意有可能創(chuàng)建的節(jié)點(diǎn)發(fā)生了變化,從k8s2變成了k8s3性芬,所以還是需要手動(dòng)拉取鏡像)

kubectl delete pod kubernetes-dashboard-57df4db6b-9qxn5 -n kube-system #刪除節(jié)點(diǎn)命令

5峡眶、訪問kubernetes dashboard ,兩種方式進(jìn)行訪問:
1植锉、NodePort 方式訪問
創(chuàng)建NodePort 方式訪問可以兩種方式:
①是將kubernetes-dashboard.yaml文件下載到本地(使用 wget 命令將上面第一條命令的連接下載文件)
然后在Service 中添加 type: NodePort
②不用下載文件 辫樱,在dashboard搭建成功后 進(jìn)行動(dòng)態(tài)修改命令如下:

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協(xié)議 你用HTTP訪問是無法訪問地,被此地坑慘了汽煮。

2搏熄、kubectl proxy 方式訪問
訪問地址:(沒錯(cuò)這次是http協(xié)議不是https IP地址為master的IP地址)

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

如果你是在kubernetes dashboard的github上面看到 只需要執(zhí)行kubectl proxy 就能訪問 你可以嘗試 一下,你能不能訪問我不知道暇赤,我只知道這家伙坑慘我了心例,說啥也不能訪問。

原因在于:

[root@k8s1 ~]# kubectl proxy 
[root@k8s1 ~]# Starting to serve on 127.0.0.1:8001 #原因在這個(gè)127.0.0.1 上面 鞋囊,外部訪問是無法訪問到這個(gè)地址的

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

#這回應(yīng)該可以了吧止后,訪問地址 提示“Forbidden ” 啥意思 禁止訪問   咋整繼續(xù)修改命令

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

#這會(huì)訪問終于見到了自己想要的界面

6、登陸kubernetes dashboard 這里只介紹Token登陸方式

①使用默認(rèn)的賬號(hào)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就是登陸所需要的內(nèi)容

但是這里填進(jìn)去后登陸你會(huì)發(fā)現(xiàn)問題:

11.png

黃色啥意思.....啥意思.....

就是禁止訪問的意思溜腐,別多想译株。

出現(xiàn)這個(gè)問題是因?yàn)橘~戶權(quán)限不足,因?yàn)閗ubernetes使用了RBAC用戶角色訪問控制挺益,如果你查看kubernetes-dashboard.yaml文件中創(chuàng)建的kubernetes-dashboard是RoleBinding而不是ClusterRoleBinding就知道問題所在了歉糜。

那咋辦,涼拌二

②自己創(chuàng)建賬號(hào)

# ------------------- 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

將上面內(nèi)容 保存到文件 cluster-admin.yaml中望众。

kubectl apply -f cluster-admin.yaml #創(chuàng)建成功后獲取它的token

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

#用對(duì)應(yīng)的token登陸 即可匪补。

7、至此kubernetes dashboard 安裝完畢烂翰,遇到的坑真的不少夯缺,如果你也遇到了,可以跟大家分享一下甘耿。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末踊兜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子佳恬,更是在濱河造成了極大的恐慌捏境,老刑警劉巖于游,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異典蝌,居然都是意外死亡曙砂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門骏掀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人柱告,你說我怎么就攤上這事截驮。” “怎么了际度?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵葵袭,是天一觀的道長。 經(jīng)常有香客問我乖菱,道長坡锡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任窒所,我火速辦了婚禮鹉勒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吵取。我一直安慰自己禽额,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布皮官。 她就那樣靜靜地躺著脯倒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捺氢。 梳的紋絲不亂的頭發(fā)上藻丢,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音摄乒,去河邊找鬼悠反。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缺狠,可吹牛的內(nèi)容都是我干的问慎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼挤茄,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼如叼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起穷劈,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤笼恰,失蹤者是張志新(化名)和其女友劉穎踊沸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體社证,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逼龟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了追葡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腺律。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖宜肉,靈堂內(nèi)的尸體忽然破棺而出匀钧,到底是詐尸還是另有隱情,我是刑警寧澤谬返,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布之斯,位于F島的核電站,受9級(jí)特大地震影響遣铝,放射性物質(zhì)發(fā)生泄漏佑刷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一酿炸、第九天 我趴在偏房一處隱蔽的房頂上張望瘫絮。 院中可真熱鬧,春花似錦梁沧、人聲如沸檀何。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽频鉴。三九已至,卻和暖如春恋拍,著一層夾襖步出監(jiān)牢的瞬間垛孔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國打工施敢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留周荐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓僵娃,卻偏偏與公主長得像概作,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子默怨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容