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


<<:  Day 13 - AI-900 认证心得(1) - 准备

>>:  [Day25] NLP会用到的模型(八)-transformer decoder

事件检视器的使用介绍(二)--事件分类与筛选

今天要来分析各日志档的内容跟类型的判别,也来看一点Event ID(事件识别码)查一点小事件,Win...

Angular 深入浅出三十天:表单与测试 Day20 - E2E 测试实作 - 登入系统

经过这两天的介绍,相信大家对於 Cypress 应该已经有了一定程度的理解,有没有人已经开始用它来...

[Day - 11] - Spring 注入式之Resource原理与开发

Abstract 在第八天我们已得知既有的Autowird与Qualifier等常用的注入方式,今天...

DAY 28:Command Pattern,将动作已指令一个一个完成

什麽是 Command Pattern? 将建立指令与实际执行分离 问题情境 PS5 有特定操作 C...

14 | WordPress 按钮区块 Buttons Block

如果你平常要处理大量文书工作,应该对我们这次介绍的「项目符号和编号」并不陌生,这又另称为清单区块 ...