jackt · 2020年03月06日

kubeapps -kubernetes 应用仪表盘

1.介绍
什么是kubeapps?
Kubeapps是Bitnami公司的一个项目,其目的是为Kubernetes的使用者们提供已经打包好的应用仪表盘,它拥有网页界面可以更方便的部署和管理k8s 原生应用。

kubeapps功能说明:
应用仪表盘-包含绝大多数的云原生应用
file
管理应用-部署,删除,升级以及修改配置
file
服务目录-(Service Catalog)是一种扩展 API,它能让 Kubernetes 集群中运行的应用易于使用外部托管的的软件服务,例如云供应商提供的数据仓库服务。
file

2.安装kubeapps
下面我演示下如何安装kubeapps并使用kubeapps来部署kubernetes 应用。
2.1 安装Helm
curl -fsSL -o get_helm.sh https://raw.githubusercontent...
chmod 700 get_helm.sh
./get_helm.sh
file
file

2.2 helm3添加Bitnami Repository
使用Helm chart来安装最新版本的Kubeapps:
helm repo add bitnami https://charts.bitnami.com/bi...
2.3 安装Kubeapps
如果你使用 Helm 3, 你需要设置另外的参数,详细命令如下:
kubectl create namespace kubeapps
helm install --name kubeapps --namespace kubeapps bitnami/kubeapps(该命令仅支持helm2)
helm install kubeapps --namespace kubeapps bitnami/kubeapps --set useHelm3=true
file

2.4 创建 Kubernetes API token
访问kubeapps的web界面需要Kubernetes API token 来验证Kubernetes API server.
kubectl create serviceaccount kubeapps-operator
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator
注意:生产环境不建议创建cluster-admin 用户. 请参考Access Control 文档来给生产环境配置合适的用户.
2.5 获取Token
Linux/macOS 系统可以使用如下命令来获取Token:
kubectl get secret $(kubectl get 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

2.6 修改访问模式并访问kubeapps
编辑kubeapps服务svc 将连接类型改为NodePort
kubectl edit svc kubeapps -n kubeapps
file
看下服务所用端口;
file

然后打开浏览器输入node的ip加上32024端口则可以访问kubeapps;输入获取的Token就可以直接登录进去。
file
登录kubeapps之后在catalog之中可以发现有好多已经打包的原生应用可以一建部署。

  1. 演示安装应用

访问kubeapps 主页并导航到应用目录。
file

譬如选择grafana,有bitnami以及官方stable的包;
file
这里我选择bitnami的应用包,进去之后点击Deploy
file
确认配置之后直接点击Submit
file
应用就部署完了。

使用kubectl edit svc crazy-jail-grafana -n kubeapps 来修改外网访问类型为NodePort
file

修改完成后,使用命令kubectl get svc -n kubeapps 查看grafana 服务的外部访问端口。
file
浏览器访问node的ip加30647端口。
file
Grafana就部署好了。
我后面又测试了prometheus,wordpress等应用。发现除了pv需要手动创建,其他配置都是自动化部署。相对于传统部署方式,省下了很多配置应用的时间;绝对是原生应用提高生产效率的一把好手。

  1. 官方参考资料:

官方网站
https://kubeapps.com/

Github
https://github.com/kubeapps/k...

推荐阅读
关注数
0
文章数
1
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息