在各種與容器以及服務設定的 Kubernetes 世界裡,我們會非常非常頻繁的使用 kubectl
指令去對 kube-apiserver
去做請求並且回傳資訊到我們的終端機介面中,於是官方就推出了一套 Kubernete Dashboard
做為 Web UI 工具給我們,不只可以一目了然的列出所有容器的服務狀態,並且可以在上面可以將我們的 kubectl 指令轉變成在 UI 上的功能,可以說是在本地端使用 Kubernetes 的標配了(通常在雲端平台會搭配雲端自家的監控整合介面)。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
kubectl get pod -n kubernetes-dashboard
kubectl proxy
-------
Starting to serve on 127.0.0.1:8001
通過如下 URL 訪問 Kubernetes dashboard
這時畫面將會出現需要訪問權限 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
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...
Kubernetes Dashboard 不得不說是一個初學者以及指令苦手的救星,在初期對 Kubernetes 完全不熟悉的我,甚至連常用的指令都不清楚。有了 Kubernetes Dashboard 這個 GUI 幫助,讓我從另一個角度去更了解到 Kubernetes 的運作方式,同時也讓我學到更多相關指令,當然有很多唾棄 GUI 的指令神人會覺得圖形化工具會寵壞工程師,但莫忘世上苦人多,更多的是對著較高的學習門檻打退堂鼓的平庸小白,所以我反而認為圖性化工具提供一個機會讓我們從另一個層面去學習一個工具,並且跟指令操作可以相輔相成。
千呼萬喚始出來!鐵人賽系列「從異世界歸來發現只剩自己不會 Kubernetes」同名改編作品出版了!
感謝所有交流指教的各路英雄,也感謝願意點閱文章的各位,如果能幫助到任何人都將會是我的榮幸。
本書內容改編自第 14 屆 iThome 鐵人賽 DevOps 組的優選系列文章《從異世界歸來發現只剩自己不會 Kubernetes》。此書是一本綜合性的指南,針對想要探索認識 Kubernetes 的技術人員而生。無論是初涉此領域的新手,還是已有深厚經驗的資深工程師,本書都能提供你所需的知識和技能。
「這本書不僅提供了豐富的範例程式碼和操作指南,讓身為工程師的我們能實際操作來加深認知;更重要的是,它教會我如何從後端工程師的角度去思考和應用 Kubernetes。從容器的生命週期、資源管理到部署管理,每一章都與我們的日常開發工作息息相關。」
──── 雷N │ 後端工程師 / iThome 鐵人賽戰友
天瓏連結: 從異世界歸來發現只剩自己不會 Kubernetes:初心者進入雲端世界的實戰攻略!
您好,
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:
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 執行就可以了喔
在windows 裏貼上以上的文字,仍然顯示錯誤。是不是在windows 裏不能這樣做?
有沒有錯誤訊息可以幫你看看有什麼問題