Install via kubectl
kubectl.Categories:
This page describes the detailed steps to install the one-stop cloud native cluster optimization platform (Cluster Optimizer).
Preconditions
- MySQL database, version 5.7 or higher
 - Kubernetes cluster, version 1.22 or higher
 - Kubernetes cluster with the necessary permissions to create the 
wiseinf-systemnamespace and deploy resources such as Deployments, ConfigMaps, and Services within this namespace 
Preparing installation script
To clone the installation script to your local computer, follow these steps:
- 
Open the command line console.
 - 
Navigate to the directory where you want to save the script:
cd /path/to/your/directory - 
Clone the repository containing the installation script using the following command:
git clone https://github.com/wiseinf/setup.gitAfter executing the git clone command, the repository will be cloned to your local machine in a new directory with the same name as the repository.
Note: The following instructions are predicated on the assumption that the setup library has been successfully cloned into the user’s home directory. Should the setup library reside elsewhere, please adjust the file path in the subsequent commands to reflect its actual location.
 
Deploy Cluster Optimizer
- 
Create
wiseinf-systemnamespace using the following command:kubectl apply -f ~/setup/cluster-optimizer/yaml/namespace.yaml - 
Create
optimizer-mysqldatabase using the following command, its service name isoptimizer-mysql, and can be accessed through the user namerootand the passwordOptimizer~:kubectl apply -f ~/setup/cluster-optimizer/yaml/mysql.yamlIf you need to bind the database to the specified node, please edit the
~/setup/cluster-optimizer/yaml/mysql.yamlfile, remove the comments in theaffinityfield, and modify the value of thevaluefield to Specify the node name as shown below.... affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - ip-10-16-121-100.us-west-1.compute.internal ... - 
Create
optimizerdeployment using the following command:kubectl apply -f ~/setup/cluster-optimizer/yaml/optimizer.yamlNote: For instructions on utilizing a deployed database, please refer to the section Using a Deployed Database.
 - 
Check whether
optimizeris running normally using the following command:kubectl get pods -n wiseinf-systemIf it runs normally, you can get output similar to the following, in which the currently running Pod Name is
optimizer-5b956655df-gspq6:NAME READY STATUS RESTARTS AGE optimizer-5b956655df-gspq6 2/2 Running 0 1m - 
Create a port-forward to access the
optimizerservice using the following command:kubectl port-forward svc/optimizer 8000:80 -n wiseinf-system - 
Open your web browser and navigate to the address
http://localhost:8000/. - 
If the Cluster Optimizer homepage is displayed, this indicates that the Cluster Optimizer application has been deployed successfully.
 - 
To delete the Cluster Optimizer, execute the following command:
kubectl delete -f ~/setup/cluster-optimizer/yaml/optimizer.yaml 
Using a deployed database
If you want to use the deployed user database with a new username and password for accessing from the Cluster Optimizer, follow these steps:
- 
Open your command line interface and use the
mysqlcommand to connect to the MySQL database. Replace127.0.0.1with your actual MySQL database host address.mysql -h127.0.0.1 -urootNote: Ensure that the database is accessible from the Kubernetes cluster if you are using a remote database.
 - 
Create the
optconfandoptdatadatabase schema.mysql> source ~/setup/cluster-optimizer/sql/create_database.sqlNote: This script will delete the existing user database if it exists and create a new one. Proceed with caution to avoid data loss.
 - 
Create a new username and password, and assign the appropriate permissions. The default username and password in the script are
optimizerandOptimizer~, respectively. Adjust these as needed.mysql> source ~/setup/cluster-optimizer/sql/create_user.sql - 
Update the Cluster Optimizer configuration file with the new database details. Edit the ConfigMap
optimizer-confwithin~/setup/cluster-optimizer/yaml/optimizer.yaml, and modify thedataSource.namevalue under the user configuration item with the new username, password, database address, and port. - 
Restart the application and review the log output of Cluster Optimizer to verify that the database configuration matches your expectations.
{ ... "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 } }, ... }Additionally, check for any database-related errors in the logs. The absence of errors indicates that the new database configuration is successfully applied.
 
Next step: Import the cluster
Next, you can add a cluster and view its related optimization recommendations. For details, see: