iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
自我挑戰組

HomeLab 30天,胡搞瞎搞亂弄一通。系列 第 25

Day25,Kubeapps一日體驗

kubeapps是一個由vmware/bitnami主導的開源項目,主旨為在kubernetes中讓你透過網頁UI去佈署與管理許多應用程式。

那我們就根據 getting start 引導來使用helm進行安裝

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
kubectl create namespace kubeapps
helm install kubeapps --namespace kubeapps bitnami/kubeapps

Deploy成功

佈署完成後產生的instances清單,其中亦有包含postgresql(作為backend,有需要持久性儲存的話就要去調整values.yml)

這邊的話因為我們的cluster沒有透過oidc/oauth2.0之類的機制去強化我們的cluster身份安全性,所以我們需要用最原始的方式,將kubernetes的中的權限透過綁定指派給到對應的service account,再使用token進行存取。

kubectl create --namespace default serviceaccount kubeapps-operator
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator

請注意! 這邊綁定的為cluster-admin,實務上不該這樣使用,這裡只是一日快速體驗

取得token

kubectl get --namespace default secret $(kubectl get --namespace default serviceaccount kubeapps-operator -o jsonpath='{range .secrets[*]}{.name}{"\n"}{end}' | grep kubeapps-operator-token) -o jsonpath='{.data.token}' -o go-template='{{.data.token | base64decode}}' && echo

將kubeapps進行port-forward

kubectl port-forward svc/kubeapps 8080:80 -n kubeapps

輸入剛剛取得的token

一進來後就可以看到他有讀到我目前透過helm安裝了哪些apps

點進應用後可以發現,他就是替你整理與此應用相關的yaml,也讓你能夠從介面執行upgrade/rollback

可以看到Catalog這邊展示能夠讓你佈署的應用程式,而預設repository就是bitnami

那我們試著將stakater 加入helm repoistory

所以如果有自己的helm repo/chartmuseum之類的也是能夠這樣用~

另外看了一下operator lifecycle manager還處於beta state這邊就先沒去試了

可以看到我們成功將stakater的repository加入了,也能夠佈署上面的helm應用

不過因為有很多chart沒有將README設定在正確的位置,導致點進去都是嘗試loading readme的訊息(應該要跟chart同層)

那今天的kubeapps一日體驗就到這邊了,感覺上使用的情境應該是針對未來在公司內部multi tenancy上,對於公司內部傳統的主機管理員倘若需要演變為使用Kubernetes進行資源控管,那這樣子的一個Web輔助工具對於不熟悉Kubernetes的IT管理員應該是挺有幫助的(我自己認為的)。不過其實昨天提到的rancher也都有對應的功能就是了,感覺大家的重複性也是挺高的。

閒聊

不過對於已經熟悉helm、oci registry還有kubernetes的人來說,這個東西其實可有可無(應該吧?XD),可能就是多了個介面讓人比較安心吧XD


上一篇
Day24,試著用rancher交差Dashboard
下一篇
Day26,Kubecost 體驗,算錢好難......
系列文
HomeLab 30天,胡搞瞎搞亂弄一通。30

尚未有邦友留言

立即登入留言