Linux企业运维——Kubernetes(十九)Helm的web UI界面管理-KubeApps
文章目录
- Linux企业运维——Kubernetes(十九)Helm的web UI界面管理-KubeApps
- 一、KubeApps安装使用
- 二、使用KubeApps添加仓库
- 三、使用KubeApps部署mychart
- 3.1、部署mychart
- 3.2、添加ingress配置
- 3.3、扩容
- 3.4、版本控制
一、KubeApps安装使用
Kubeapps是Bitnami公司的一个项目,其目的是为Kubernetes的使用者们提供已经打包好的应用仪表盘,它拥有网页界面可以更方便的部署和管理k8s 原生应用。
之前使用Helm部署了多个应用,现在为其配置图形化管理界面
查看kube-system命名空间下所有pod
虚拟机server2联通外网,拉取kubeapps配置压缩包并解压缩
解压kubeapps包,编辑values.yaml变量资源清单文件
设置镜像仓库
打开ingress服务(便于后期从集群外部访问),指定hostname
进入charts/postgresql目录下,编辑values.yaml
添加仓库地址
真实主机将kubeapps包发送给server1
server1加载镜像包
server1将镜像上传至仓库
server2切换到kubeapps目录,创建kubeapps命名空间,将kubeapps安装在kubeapps命名空间
可以看到kubeapp的url,未指定数据库密码会随机生成一个
查看kubeapps命名空间的所有pod,都处于正常运行状态
查看kubeapps命名空间的ingress服务,查看详细信息
查看kubeapps服务的详细信息
其后端服务访问地址如图所示
ingress-nginx-controller的外部访问地址为172.25.19.10
真实主机为kubeapps.westos.org设置域名解析
真实主机可以ping通kubeapps.westos.org
每次创建SA,集群会自动为该用户创建token,认证该用户,使用token登陆kubeapps
在kubeapps命名空间下创建serviceaccount,名为kubeapps-operator,创建全局角色绑定,为新建用户在指定命名空间内进行授权
查看配置
配置都已经生效,查看secrets中kubeapps-operator-token的详细信息
复制token
在web访问页面将复制的token复制进去
登陆成功
二、使用KubeApps添加仓库
点击APP Repositories
点击右上角ADD Repository
kubeapps结合harbor仓库管理helm应用,根据需要填写或选择参数完成仓库创建
选择跳过TLS认证,安装部署仓库
出现如下问题,这是因为没有配置dns解析
需要添加dns解析来识别仓库reg.westos.org
kubectl -n kube-system edit cm coredns
进入coredns添加解析
在配置文件中添加reg.westos.org的域名解析
仓库添加成功
三、使用KubeApps部署mychart
3.1、部署mychart
可以看到自己之前打包部署的mychart
进入mychart可以选择版本,选择v2版本
将其交予default命名空间管理
选择v1版本部署
可以看到部署成功,已经就绪
server2查看pod信息可以看到mychart正常运行,测试访问
3.2、添加ingress配置
在图形管理界面上点击UPGRADE
在ingress配置里添加域名和路径
真实主机中也添加域名解析
测试ping myapp.testos.org,联通正常
浏览器也可以正常访问
3.3、扩容
点击UPGRADE再进行扩容,将副本数量增加到3
可以看到现在有3个pod就绪
真实主机使用浏览器测试访问,可以看到3个节点轮询应答,负载均衡
server2查看pod信息可以看到正是这3个pod
3.4、版本控制
还可以进行版本升级,在配置中将标签改为v2
测试访问,可以看到应答信息变成了v2
需要版本回滚的话点击ROLLBACK按钮
目前已经进行了4次改动,这里选择回到第一次的状态
可以看到变成了v1版本而且是扩容之前的状态
server2查看pod信息可以看到一个pod在运行,详细信息查看其IP并测试访问,可以看到成功访问,显示v1版本
点击红色按钮删除application