一、kubeapps图形化安装
前面学习了helm的用法,方便部署,但是我们想要有图形界面来更好的管理。接下来我们部署kubeapps应用,为Helm提供web UI界面管理。
Kubeapps是Bitnami公司的一个项目,其目的是为Kubernetes的使用者们提供已经打包好的应用仪表盘,它拥有网页界面可以更方便的部署和管理k8s 原生应用。
查看kube-system命名空间下的pod
helm repo add apphub https://apphub.aliyuncs.com添加第三方仓库,然后搜索kubeapps
拉取kubeapps配置压缩包
解压缩
编辑values.yaml变量资源清单文件,设定镜像仓库,并修正所有镜像的路径
打开ingress服务,便于可以从集群外部进行访问,设定hostname
之后修改charts/postgresql目录下的values.yaml文件,并修正所有镜像的路径
添加仓库地址
真机将kubeapps包发送给server1
server1导入镜像
上传至私有仓库
server2切换到kubeapps目录,创建kubeapps命名空间(隔离区分)
将kubeapps安装在kubeapps命名空间
可以看到kubeapp的url;
本地要从k8s集群外部访问Kubeapps,遵循以下步骤:1. 获取Kubeapps的URL,并将Kubeapps的主机名关联到集群外部IP;2. 打开浏览器,使用获取的UR访问Kubeapps。
查看kubeapps命名空间的所有pod,都正常运行
查看ingress服务成功运行,并且有后端
查看kubeapps命名空间的服务
查看kubeapps服务的详细信息,其后端服务访问地址如下
查看ingress中svc所分配的对外暴露IP
真机为kubeapps.westos.org 添加地址解析
查看SA
创建sa;
每次创建SA,集群会自动为该用户创建token,认证该用户。使用token登陆kubeapps
在kubeapps命名空间下创建的SA(名为kubeapps-operator)
创建全局角色绑定,为新建用户在指定命名空间内进行授权,赋予读写权限
查看配置
查看secrets中kubeapps-operator-token的详细信息
token如下,复制该token
网址输入kubeapps.westos.org,访问kubeapps;
输入刚刚复制的token进行登陆
成功的登陆到kubeapps
二、kubeapps图形化添加仓库
选择kubeapps这个名字空间
点击APP Repositories
之后点击右上角ADD Repository
kubeapps结合harbor仓库管理helm应用,通过url的方式添加仓库到helm中
选择跳过TLS加密认证,安装部署仓库
如果出现无法识别仓库reg.westos.org,说明需要添加解析
kubectl -n kube-system edit cm coredns进入coredns添加解析
在配置文件中添加reg.westos.org的域名解析
再次添加仓库,成功
三、使用KubeApps图形化部署mychart
搜索,可以查看到以前自己打包的mychart
进入mychart可以选择版本,选择v1版本进行部署
部署成功
此时server2使用命令行查看pod信息,可以看到mychart正常运行
测试访问
也可以进行更新,在图形管理界面上点击UPGRADE
在ingress配置里添加域名和路径
在真机中添加解析
网页访问myapp.westos.org,测试成功
点击UPGRADE再进行扩容,将副本数量增加到3
此时有3个pod就绪
访问测试,3个节点轮询应答,负载均衡
还可以进行版本升级,在配置中将标签改为v2
网页测试,v2版本
也支持回滚,点击ROLLBACK,目前已经进行了4次改动,这里选择回到第二次的状态
可以看到变成了v1版本,而且是扩容之前的状态,1个pod副本
网页测试访问
用命令方式查看