通过kubectl安装

描述通过kubectl安装云原生集群优化平台(Cluster Optimizer)的详细步骤.

本页面描述了安装一站式云原生集群优化平台(Cluster Optimizer)的详细步骤.

前置条件

  • Mysql数据库,版本5.7及以上
  • Kubernetes集群,版本1.22及以上
  • Kubernetes集群的证书,能够创建wiseinf-system名称空间以及在此名称空间下创建Deployment、ConfigMap、Service等资源

克隆安装脚本

  1. 打开命令行控制台,通过下述命令将安装脚本克隆到本地。

        git clone https://github.com/wiseinf/setup.git
    

    1,若使用Gitee仓库地址,则需将上述命令中的https://github.com/wiseinf/setup.git替换为https://gitee.com/wiseinf/setup.git

    2,后续步骤假设已将setup库克隆到用户主目录,若未克隆到用户主目录,则需要根据实际情况调整命令中的文件路径。

部署应用

  1. 通过如下命令创建名称空间wiseinf-system

        kubectl apply -f ~/setup/cluster-optimizer/yaml/namespace.yaml
    
  2. 通过如下命令创建数据库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
      ...
    
  3. 通过如下命令创建Deployment optimizer

        kubectl apply -f ~/setup/cluster-optimizer/yaml/optimizer.yaml
    

    注意:若期望采用已部署的数据库,请参见使用已部署数据库

  4. 通过如下命令检查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
    
  5. 通过如下命令创建 port-forward 来访问 optimizer 服务:

        kubectl port-forward svc/optimizer 8000:80  -n wiseinf-system
    
  6. 打开浏览器,访问地址http://localhost:8000/.

  7. 若能够看到 Cluster Optimizer首页,则应用Cluster Optimizer成功部署.

使用已部署数据库

若您希望使用已部署数据库,使用新的用户名和密码来访问Cluster Optimizer,请参考如下步骤:

  1. 在命令行控制台执行mysql命令登录到Mysql数据库,其中127.0.0.1为Mysql数据库主机地址,您需要替换成您使用的实际地址。

        mysql -h127.0.0.1 -uroot
    

    注意: 如果您使用远程数据库,请确保可以从 Kubernetes 集群访问该数据库。

  2. 创建数据库schema optconf(优化配置库) 和 optdata(优化数据库)。

        mysql> source ~/setup/cluster-optimizer/sql/create_database.sql
    

    注意:请关注数据丢失风险。若mysql数据库中已经存在optconf库和optdata库,则上述脚本会先删除库,然后创建新库。

  3. 创建新的用户名和密码,并为其设置相应权限。脚本中用户名是optimizer,密码是Optimizer~,您可以按照您的需求调整。

        mysql> source ~/setup/cluster-optimizer/sql/create_user.sql
    
  4. 调整Cluster Optimizer配置文件中的数据库信息。编辑文件~/setup/cluster-optimizer/yaml/optimizer.yaml中的ConfigMapoptimizer-conf,将配置项optdataoptconf下的dataSource.name值中的用户名、用户密码、数据库地址和端口调整为Mysql数据库的相应信息。

  5. 重启应用,检查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
            }
        },
        ...
    }
    

    同时,也检查是否有数据库相关报错。若没有相关报错,则证明已使用新的数据库。

下一步:导入集群

下一步,您可以添加一个集群,查看其相关优化建议。详见: