通过Helm安装
Categories:
本页描述了通过Helm安装Cluster Optimizer的详细步骤.
前置条件
- Mysql数据库,版本5.7及以上
- Kubernetes集群,版本1.22及以上
- Kubernetes集群的证书,能够创建
wiseinf-system
名称空间以及在此名称空间下创建Deployment、ConfigMap、Service等资源 - Helm,建议3.0.0及以上
部署应用
-
通过如下命令添加Helm仓库
cluster-optimizer
:helm repo add cluster-optimizer https://wiseinf.github.io/cluster-optimizer/
-
通过如下命令更新仓库:
helm repo update
-
通过如下命令查看仓库
cluster-optimizer
包含的Charts:helm search repo cluster-optimizer
输出如下:
NAME CHART VERSION APP VERSION DESCRIPTION cluster-optimizer/cluster-optimizer 0.1.0 1.1.0 A Helm chart for cluster optimizer
可知,仓库中包括一个名为
cluster-optimizer/cluster-optimizer
的Chart。 -
通过如下命令安装
demo
Chart:helm install demo cluster-optimizer/cluster-optimizer -n wiseinf-system --create-namespace
其中,
-n wiseinf-system
表示在名称空间wiseinf-system
下安装demo
, 参数--create-namespace
表示创建此名称空间,输出如下:NAME: demo LAST DEPLOYED: Thu Mar 28 15:54:42 2024 NAMESPACE: default STATUS: deployed REVISION: 1 ...
说明Helm已经成功部署
demo
Chart。 -
通过如下命令检查
optimizer
是否正常运行:kubectl get pods -n wiseinf-system
输出如下:
NAME READY STATUS RESTARTS AGE cluster-optimizer-demo-7bfdfdf954-2cgqb 2/2 Running 0 108s cluster-optimizer-demo-optimizerdb-5d6cdb6b9f-94lc7 1/1 Running 0 108s
从输出可以看到,Helm部署了两个Pod,其中
cluster-optimizer-demo-7bfdfdf954-2cgqb
是 Cluster Optimizer的Pod,cluster-optimizer-demo-optimizerdb-5d6cdb6b9f-94lc7
是其依赖的Mysql数据库。注意:若期望采用已部署的数据库,请参见使用已部署数据库。
-
通过如下命令创建 port-forward 来访问
optimizer
服务:kubectl port-forward svc/optimizer 8000:80 -n wiseinf-system
-
打开浏览器,访问地址
http://localhost:8000/
. -
若能够看到 Cluster Optimizer首页,则应用Cluster Optimizer成功部署.
-
通过命令可以删除
demo
Chart:helm uninstall demo
使用已部署数据库
若您希望使用已部署数据库,使用新的用户名和密码来访问Cluster Optimizer,请参考如下步骤:
-
打开命令行控制台,通过下述命令将安装脚本克隆到本地。
git clone https://github.com/wiseinf/setup.git
1,若使用Gitee仓库地址,则需将上述命令中的
https://github.com/wiseinf/setup.git
替换为https://gitee.com/wiseinf/setup.git
。2,后续步骤假设已将
setup
库克隆到用户主目录,若未克隆到用户主目录,则需要根据实际情况调整命令中的文件路径。 -
在命令行控制台执行
mysql
命令登录到Mysql数据库,其中127.0.0.1
为Mysql数据库主机地址,您需要替换成您使用的实际地址。mysql -h127.0.0.1 -uroot
注意: 如果您使用远程数据库,请确保可以从 Kubernetes 集群访问该数据库。
-
创建数据库schema
optconf
(优化配置库) 和optdata
(优化数据库)。mysql> source ~/setup/cluster-optimizer/sql/create_database.sql
注意:请关注数据丢失风险。若mysql数据库中已经存在
optconf
库和optdata
库,则上述脚本会先删除库,然后创建新库。 -
创建新的用户名和密码,并为其设置相应权限。脚本中用户名是
optimizer
,密码是Optimizer~
,您可以按照您的需求调整。mysql> source ~/setup/cluster-optimizer/sql/create_user.sql
-
创建文件
values.yaml
,编辑其内容,如下:optimizedb: conf: dbHost: 127.0.0.1 schema: optconf port: "3306" user: optimizer password: Optimizer~ data: dbHost: 127.0.0.1 schema: optdata port: "3306" user: optimizer password: Optimizer~
其中,
dbHost
是数据库地址,schema
是数据库Schema,port
是端口,user
和password
分别是用户名和密码。 -
通过如下命令安装
demo
Chart:helm install demo cluster-optimizer/cluster-optimizer -f values.yaml --namespace wiseinf-system
也可以通过升级原部署的方式来调整数据库的设置:
helm upgrade demo cluster-optimizer/cluster-optimizer -f values.yaml --namespace wiseinf-system
-
重启应用,检查Cluster Optimizer Pod的日志输出(如下所示),查看数据库配置信息是否与您的预期一致。
{ ... "optconf": { "dataSource": { "name": "optimizer:Optimizer~@tcp(127.0.0.1:3306)/optconf?createDatabaseIfNotExist=true\u0026charset=utf8mb4\u0026parseTime=true\u0026loc=Local", "maxOpenConns": 10 } }, "optdata": { "dataSource": { "name": "optimizer:Optimizer~@tcp(127.0.0.1:3306)/optdata?createDatabaseIfNotExist=true\u0026charset=utf8mb4\u0026parseTime=true\u0026loc=Local", "maxOpenConns": 10 } }, ... }
同时,也检查是否有数据库相关报错。若没有相关报错,则证明已使用新的数据库。
下一步:导入集群
下一步,您可以添加一个集群,查看其相关优化建议。详见: