1 - 通过kubectl安装
kubectl安装云原生集群优化平台(Cluster Optimizer)的详细步骤.本页面描述了安装一站式云原生集群优化平台(Cluster Optimizer)的详细步骤.
前置条件
- Mysql数据库,版本5.7及以上
- Kubernetes集群,版本1.22及以上
- Kubernetes集群的证书,能够创建
wiseinf-system名称空间以及在此名称空间下创建Deployment、ConfigMap、Service等资源
克隆安装脚本
-
打开命令行控制台,通过下述命令将安装脚本克隆到本地。
git clone https://github.com/wiseinf/setup.git1,若使用Gitee仓库地址,则需将上述命令中的
https://github.com/wiseinf/setup.git替换为https://gitee.com/wiseinf/setup.git。2,后续步骤假设已将
setup库克隆到用户主目录,若未克隆到用户主目录,则需要根据实际情况调整命令中的文件路径。
部署应用
-
通过如下命令创建名称空间
wiseinf-system:kubectl apply -f ~/setup/cluster-optimizer/yaml/namespace.yaml -
通过如下命令创建数据库
optimizer-mysql,其服务名为optimizer-mysql, 并可通过用户root,密码Optimizer~来访问:kubectl apply -f ~/setup/cluster-optimizer/yaml/mysql.yaml若需将数据库绑定到指定的节点上,请编辑
~/setup/cluster-optimizer/yaml/mysql.yaml文件,将affinity字段中的注释去掉,并修改value字段的值为指定节点名称,如下所示。... affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - ip-10-16-121-100.us-west-1.compute.internal ... -
通过如下命令创建
Deploymentoptimizer:kubectl apply -f ~/setup/cluster-optimizer/yaml/optimizer.yaml注意:若期望采用已部署的数据库,请参见使用已部署数据库。
-
通过如下命令检查
optimizer是否正常运行:kubectl get pods -n wiseinf-system若正常运行,则可以获取到类似如下输出,其中当前运行的Pod Name是
optimizer-5b956655df-gspq6:NAME READY STATUS RESTARTS AGE optimizer-5b956655df-gspq6 2/2 Running 0 1m -
通过如下命令创建 port-forward 来访问
optimizer服务:kubectl port-forward svc/optimizer 8000:80 -n wiseinf-system -
打开浏览器,访问地址
http://localhost:8000/. -
若能够看到 Cluster Optimizer首页,则应用Cluster Optimizer成功部署.
使用已部署数据库
若您希望使用已部署数据库,使用新的用户名和密码来访问Cluster Optimizer,请参考如下步骤:
-
在命令行控制台执行
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 -
调整Cluster Optimizer配置文件中的数据库信息。编辑文件
~/setup/cluster-optimizer/yaml/optimizer.yaml中的ConfigMapoptimizer-conf,将配置项optdata和optconf下的dataSource.name值中的用户名、用户密码、数据库地址和端口调整为Mysql数据库的相应信息。 -
重启应用,检查Cluster Optimizer的日志输出(如下所示),查看数据库配置信息是否与您的预期一致。
{ ... "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 } }, ... }同时,也检查是否有数据库相关报错。若没有相关报错,则证明已使用新的数据库。
下一步:导入集群
下一步,您可以添加一个集群,查看其相关优化建议。详见:
2 - 通过Helm安装
本页描述了通过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。 -
通过如下命令安装
demoChart: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已经成功部署
demoChart。 -
通过如下命令检查
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成功部署.
-
通过命令可以删除
demoChart:helm uninstall demo
使用已部署数据库
若您希望使用已部署数据库,使用新的用户名和密码来访问Cluster Optimizer,请参考如下步骤:
-
打开命令行控制台,通过下述命令将安装脚本克隆到本地。
git clone https://github.com/wiseinf/setup.git1,若使用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分别是用户名和密码。 -
通过如下命令安装
demoChart: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 } }, ... }同时,也检查是否有数据库相关报错。若没有相关报错,则证明已使用新的数据库。
下一步:导入集群
下一步,您可以添加一个集群,查看其相关优化建议。详见:
3 - 安装商业版本
本页面描述了安装商业版本的详细步骤.
前置条件
- 已部署集群优化平台社区版,具体安装步骤请参考通过Kubectl安装和通过Helm安装。
- 获取商业版本授权,您可以通过公司官网或者邮件联系我们获取授权。
配置用户数据库
-
打开命令行控制台,通过下述命令将安装脚本克隆到本地。
git clone https://github.com/wiseinf/setup.git1,若使用Gitee仓库地址,则需将上述命令中的
https://github.com/wiseinf/setup.git替换为https://gitee.com/wiseinf/setup.git。2,后续步骤假设已将
setup库克隆到用户主目录,若未克隆到用户主目录,则需要根据实际情况调整命令中的文件路径。 -
调整Cluster Optimizer配置文件中的数据库信息。编辑文件
~/setup/cluster-optimizer/yaml/optimizer.yaml中的ConfigMapoptimizer-conf,添加下述配置项。user: dataSource: name: "root:optimizer@tcp(optimizer-mysql:3306)/user?createDatabaseIfNotExist=true&charset=utf8mb4&parseTime=true&loc=Local" maxOpenConns: 10
配置商业版本授权
-
调整Cluster Optimizer配置文件中的数据库信息。编辑文件
~/setup/cluster-optimizer/yaml/optimizer.yaml中的ConfigMapoptimizer-conf,添加下述配置项。license: certificate: {获取的授权证书} signature: {获取的授权签名} -
通过如下命令部署
Deploymentoptimizer:kubectl apply -f ~/setup/cluster-optimizer/yaml/optimizer.yaml注意: 1、若
Deploymentoptimizer的Pod没有重启,请通过kubectl delete pod -l app=optimizer -n wiseinf-system删除Deploymentoptimizer的Pod,然后重新创建。` 2、若期望采用已部署的数据库,请参见使用已部署数据库。 -
检查日志输出,确认
Deploymentoptimizer的Pod状态为Running。
系统初始化
-
打开浏览器,访问地址
http://localhost:8000/init,可以访问商业版本的初始化页面。在页面中输入用户名称、密码、邮箱、手机号等信息,并点击确定按钮,即可完成系统初始化工作。 -
访问地址
http://localhost:8000/user/login,输入用户名和密码,即可登录系统。 -
至此,您已经将系统升级为商业版本。
使用已部署数据库
若您希望使用已部署用户数据库,使用新的用户名和密码来访问Cluster Optimizer,请参考如下步骤:
-
在命令行控制台执行
mysql命令登录到Mysql数据库,其中127.0.0.1为Mysql数据库主机地址,您需要替换成您使用的实际地址。mysql -h127.0.0.1 -uroot注意: 如果您使用远程数据库,请确保可以从 Kubernetes 集群访问该数据库。
-
创建数据库schema
user(用户库)。mysql> source ~/setup/cluster-optimizer/sql/create_user_database.sql注意:请关注数据丢失风险。若mysql数据库中已经存在
user库,则上述脚本会先删除库,然后创建新库。 -
创建新的用户名和密码,并为其设置相应权限。脚本中用户名是
optimizer,密码是Optimizer~,您可以按照您的需求调整。mysql> source ~/setup/cluster-optimizer/sql/create_user_user.sql -
调整Cluster Optimizer配置文件中的数据库信息。编辑文件
~/setup/cluster-optimizer/yaml/optimizer.yaml中的ConfigMapoptimizer-conf,将配置项user下的dataSource.name值中的用户名、用户密码、数据库地址和端口调整为Mysql数据库的相应信息。 -
重启应用,检查Cluster Optimizer的日志输出(如下所示),查看数据库配置信息是否与您的预期一致。
{ ... "user": { "dataSource": { "name": "optimizer:Optimizer~@tcp(127.0.0.1:3306)/optconf?createDatabaseIfNotExist=true\u0026charset=utf8mb4\u0026parseTime=true\u0026loc=Local", "maxOpenConns": 10 } }, ... }同时,也检查是否有数据库相关报错。若没有相关报错,则证明已使用新的数据库。
下一步:导入集群
下一步,您可以添加一个集群,查看其相关优化建议。详见: