Quick deployment
Configuring the operating system
Follow this section to complete the system configuration on the virtual machine or physical server to be deployed, and install Docker as the container runtime.
System configuration
-
Configure static IP addresses:
Terminal window sudo vi /etc/sysconfig/network-scripts/ifcfg-<interface>Replace
<interface>with the network interface name, for exampleeth0. -
Configure the DNS server:
Terminal window sudo vi /etc/resolv.conf -
Disable the firewall:
Terminal window sudo systemctl stop firewalld && sudo systemctl disable firewalld -
Disable SELinux:
Terminal window echo -e "SELINUX=disabled\nSELINUXTYPE=targeted" | sudo tee /etc/selinux/configsudo setenforce 0
-
Configure static IP addresses and a DNS server:
Terminal window sudo vi /etc/netplan/50-cloud-init.yaml -
Apply the network configuration:
Terminal window sudo netplan apply -
Disable the firewall:
Terminal window sudo ufw disable -
Optional: disable AppArmor as needed:
Terminal window sudo systemctl disable apparmor && sudo systemctl stop apparmor -
Restart the operating system to apply the configuration:
Terminal window sudo reboot
Installing Docker
-
Install Docker CE:
Terminal window sudo dnf -y install dnf-plugins-coresudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.reposudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -
Start the Docker service:
Terminal window sudo systemctl enable --now docker -
Confirm Docker is installed successfully:
Terminal window docker --version -
Restart the operating system to apply the configuration:
Terminal window sudo reboot
-
Update the package index:
Terminal window sudo apt-get updatesudo apt-get -y install ca-certificates curl -
Add the Docker GPG key:
Terminal window sudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc -
Add the Docker software source:
Terminal window echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -
Install Docker CE:
Terminal window sudo apt-get updatesudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -
Start the Docker service:
Terminal window sudo systemctl enable --now docker -
Confirm Docker is installed successfully:
Terminal window docker --version
Downloading the deployment tool
Install the Neutree CLI tool on the virtual machine or physical server to be deployed and grant it executable permissions. This CLI tool is used to deploy the Neutree management plane, which includes monitoring components and the control plane.
-
Download version 1.0.1 of the Neutree CLI tool for the server’s CPU architecture.
-
Grant executable permissions to the CLI tool.
Terminal window chmod +x neutree-cli-<arch>Replace
<arch>with the server’s CPU architecture:amd64oraarch64.
Deploying monitoring components
Use the Neutree CLI tool to deploy the OBSStack monitoring components to provide system monitoring and observability support for the platform.
-
Start the monitoring component service:
Terminal window ./neutree-cli-<arch> launch obs-stackReplace
<arch>with the server’s CPU architecture:amd64oraarch64.Information
This method automatically pulls the required images from DockerHub. Ensure the server network can access DockerHub.
-
If the monitoring component service fails to start, run the following command to view its logs for troubleshooting:
Terminal window docker compose -f ./neutree-deploy/obs-stack/docker-compose.yml logs
Deploying the control plane
Use the Neutree CLI tool to deploy a simplified control plane that provides the user management interface.
-
Run the following command in the terminal to generate a random JWT secret:
Terminal window openssl rand -base64 32 | tr '+/' '-_' | tr -d '='Information
Neutree uses JWT (JSON Web Token) for authentication and authorization. The JWT secret is used to ensure the security of JWTs.
-
Start the control plane service:
Terminal window ./neutree-cli-<arch> launch neutree-core \--version=v1.0.1-enterprise \--metrics-remote-write-url=http://<obstack_ip>:8480/insert/0/prometheus/ \--jwt-secret=<jwt_secret> \--grafana-url=http://<obstack_ip>:3030 \--admin-password=<admin_password>Parameter Description <arch>The server’s CPU architecture: amd64oraarch64.<obstack_ip>The IP address of the server where the monitoring components are deployed. <jwt_secret>The JWT secret string generated in step 1. <admin_password>The initial password for Neutree administrator. Optional; it is recommended to set a custom initial password. If left empty, the system will generate one automatically, which you can retrieve after deployment using docker logs -f post-migration-hook.Information
This method automatically pulls the required images from DockerHub. Ensure the server network can access DockerHub.
-
If the control plane service fails to start, run the following command to view its logs for troubleshooting:
Terminal window docker compose -f ./neutree-deploy/neutree-core/docker-compose.yml logs
Verifying the deployment
After all services have started, verify the deployment.
-
Check the status of all services:
Terminal window docker ps -
Use the administrator account
admin@neutree.localand the initial password to access the Neutree management interface athttp://<control_plane_ip>:3000.If you cannot access the Neutree management interface, check whether the Docker service is running properly.