iT邦幫忙

2022 iThome 鐵人賽

DAY 5
2
DevOps

從異世界歸來發現只剩自己不會 Kubernetes系列 第 5

從異世界歸來的第五天 - Kubernetes Dashboard 你的 Kubernetes GUI 神器

  • 分享至 

  • xImage
  •  

概述

在各種與容器以及服務設定的 Kubernetes 世界裡,我們會非常非常頻繁的使用 kubectl 指令去對 kube-apiserver 去做請求並且回傳資訊到我們的終端機介面中,於是官方就推出了一套 Kubernete Dashboard 做為 Web UI 工具給我們,不只可以一目了然的列出所有容器的服務狀態,並且可以在上面可以將我們的 kubectl 指令轉變成在 UI 上的功能,可以說是在本地端使用 Kubernetes 的標配了(通常在雲端平台會搭配雲端自家的監控整合介面)。

https://ithelp.ithome.com.tw/upload/images/20220905/201495629zt8FRdn7d.png

配置 Kubernetes dashboard

  1. 下載 Kubernetes dashboard 相關容器服務
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
  1. 檢查 kubernetes-dashboard 應用狀態
kubectl get pod -n kubernetes-dashboard

https://ithelp.ithome.com.tw/upload/images/20220905/20149562r75rtO5FlH.png

  1. 開啟 API Server 訪問代理並訪問 Kubernetes dashboard 頁面:
kubectl proxy
-------
Starting to serve on 127.0.0.1:8001

通過如下 URL 訪問 Kubernetes dashboard

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

這時畫面將會出現需要訪問權限 token 的驗證:

https://ithelp.ithome.com.tw/upload/images/20220905/201495621ZZj5uaX4G.png

  1. 接下來我們需要產生一個預設 Token 來登入頁面,直接在終端機輸入下列指令:
kubectl apply -f - <<EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kube-system-default
  labels:
    k8s-app: kube-system
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: default
    namespace: kube-system

---

apiVersion: v1
kind: Secret
metadata:
  name: default
  namespace: kube-system
  labels:
    k8s-app: kube-system
  annotations:
    kubernetes.io/service-account.name: default
type: kubernetes.io/service-account-token
EOF
  1. 打印出 Token (MacOs):
TOKEN=$(kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}')

kubectl config set-credentials docker-desktop --token="${TOKEN}"

echo $TOKEN
// your token...
  1. 將上一步拿到的 Token 填入後,即可成功進入 Kubernetes Dashboard 主頁面!

https://ithelp.ithome.com.tw/upload/images/20220905/201495621Bfpv7uhIV.png

結論

Kubernetes Dashboard 不得不說是一個初學者以及指令苦手的救星,在初期對 Kubernetes 完全不熟悉的我,甚至連常用的指令都不清楚。有了 Kubernetes Dashboard 這個 GUI 幫助,讓我從另一個角度去更了解到 Kubernetes 的運作方式,同時也讓我學到更多相關指令,當然有很多唾棄 GUI 的指令神人會覺得圖形化工具會寵壞工程師,但莫忘世上苦人多,更多的是對著較高的學習門檻打退堂鼓的平庸小白,所以我反而認為圖性化工具提供一個機會讓我們從另一個層面去學習一個工具,並且跟指令操作可以相輔相成。


狂賀₍₍ ◝( ゚∀ ゚ )◟ ⁾⁾♪

千呼萬喚始出來!鐵人賽系列「從異世界歸來發現只剩自己不會 Kubernetes」同名改編作品出版了!
感謝所有交流指教的各路英雄,也感謝願意點閱文章的各位,如果能幫助到任何人都將會是我的榮幸。

本書內容改編自第 14 屆 iThome 鐵人賽 DevOps 組的優選系列文章《從異世界歸來發現只剩自己不會 Kubernetes》。此書是一本綜合性的指南,針對想要探索認識 Kubernetes 的技術人員而生。無論是初涉此領域的新手,還是已有深厚經驗的資深工程師,本書都能提供你所需的知識和技能。

「這本書不僅提供了豐富的範例程式碼和操作指南,讓身為工程師的我們能實際操作來加深認知;更重要的是,它教會我如何從後端工程師的角度去思考和應用 Kubernetes。從容器的生命週期、資源管理到部署管理,每一章都與我們的日常開發工作息息相關。」
──── 雷N │ 後端工程師 / iThome 鐵人賽戰友

天瓏連結: 從異世界歸來發現只剩自己不會 Kubernetes:初心者進入雲端世界的實戰攻略!
https://ithelp.ithome.com.tw/upload/images/20231030/201495629BWPC1wajW.png


上一篇
從異世界歸來的第四天 - 安裝 Kubernetes (docker desktop for mac)
下一篇
從異世界歸來的第六天 - Kubernetes 三兄弟 - 實戰做一個 Pod (一)
系列文
從異世界歸來發現只剩自己不會 Kubernetes30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
andy_chang_acpp
iT邦新手 5 級 ‧ 2022-09-15 14:00:56

您好,
kubectl apply -f - <<EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kube-system-default
labels:
k8s-app: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:

  • kind: ServiceAccount
    name: default
    namespace: kube-system

apiVersion: v1
kind: Secret
metadata:
name: default
namespace: kube-system
labels:
k8s-app: kube-system
annotations:
kubernetes.io/service-account.name: default
type: kubernetes.io/service-account-token
EOF

想請問上面這段指令應該怎麼輸入到linux裡面呢?
kubectl apply -f - 後面接檔案名嗎?
因為直接輸入kubectl apply -f - <<EOF 會出現錯誤的指令,感謝。

只需要在終端機裡把全部的內容貼上並且點擊 Enter 執行就可以了喔
https://ithelp.ithome.com.tw/upload/images/20220915/20149562ikAXCLLOUV.png

tytom2005 iT邦新手 5 級 ‧ 2024-07-08 22:35:41 檢舉

在windows 裏貼上以上的文字,仍然顯示錯誤。是不是在windows 裏不能這樣做?

有沒有錯誤訊息可以幫你看看有什麼問題

我要留言

立即登入留言