Using the Silent Installer
This topic provides information on how to:
-
Perform a fresh installation of Paragon Insights releases 4.0.0, 4.1.0, 4.2.0, or 4.3.0 by using the silent installer.
-
Seamlessly upgrade Paragon Insights from an earlier 4.X release to a later release.
Note:If you are currently using Paragon Insights with Docker Compose-based installation, then you must perform a fresh installation of Release 4.X. If you are using Paragon Insights with Kubernetes-based installation, follow the instructions provided in the Upgrading Paragon Insights Release 3.X with Kubernetes-based Installation to Release 4.X topic.
Paragon Insights (formerly HealthBot) provides a silent installer as a convenient way to streamline the installation process without requiring user intervention.
To use the silent installer, you can use the default configuration file, included in the downloaded .deb or .rpm package, or create your own custom configuration. The default configuration file, healthbot.conf, is located on the Paragon Insights server in the /var/local/healthbot/ after the interactive installation is complete.
The following is an example configuration file for single-node installations.
############### Multi-node settings for Kubernetes installations ############### # Absence of multi-node key indicates single node installation. # Un-comment below for multi-node installation. Refer documentation # for more information. This is not a mandatory key. # Use the use_cluster stanza if you already have a kubernetes cluster # If you want HealthBot to install the kubernetes cluster, use the cluster stanza multi_node: cluster: master_nodes: ['10.xx.xx.28'] worker_nodes: [] allow_master_scheduling: True load_balancer_ip: ['10.xx.xx.28'] master_virtual_ip: None ssh_user: root ssh_pw: '<Insert password>' pod_cidr: 10.xx.xx.0/16 service_cidr: 10.xx.xx.0/12 # use_cluster: # registry: <Insert registry name> # kubeconfig: <Insert path to kubeconfig file> # # Uncomment the following stanza if want HealthBot to install loadbalancer # load_balancer: # load_balancer_ip: <Insert a Virtual IP here> ############### Single node settings for docker-compose installations ############### ############### Container network settings ############### # Refer: https://docs.docker.com/engine/reference/commandline/network_create/. # For single-node installation, we use default driver. # Un-comment below if you want to control subnet of healthbot's containers. # If devices in your network have IP address from the private IP address # block, use this option to avoid IP address conflict of containers with # network devices. # This is not a mandatory key. # network: # subnet: 10.xx.xx.0/16 # gateway: 10.xx.xx.2 ############### Master settings ############### # Specify below host's ip address on which sshd is listening on the default # port. Don't use localhost or loop-back address. This is a mandatory key. # host_ip: <ip> # Specify below HTTPS certificate and private key file location. # This is a mandatory key. https: cert_file: /var/local/healthbot/certs/cert.pem key_file: /var/local/healthbot/certs/key.pem ************************************************************************************** $ sudo healthbot setup --c <path-to-file>/healthbot.conf ℹ️ Paragon Insights free model/freemium license tier is not available in this version. A valid license(trial or commercial) is needed to use Paragon Insights features ℹ️ Creating docker images. This might take some time... 100%|████████████████████████████████████████████████████████████████████| 50/50 [03:03<00:00, 3.67s/it] ✅ Docker images successfully created 🐳 Loading docker images. This may take some time.. 100%|████████████████████████████████████████████████████████████████████| 50/50 [02:11<00:00, 2.62s/it] ✅ Docker images successfully loaded ✅ Done making directories ╭────────────────────────────────────╮ │ │ │ Installing new Kubernetes cluster │ │ │ ╰────────────────────────────────────╯ ℹ️ Using pod CIDR: 10.xx.xx.0/16 ℹ️ Using service CIDR: 10.xx.xx.0/12 ╭───────────────────────────────────────────────────────────────────────────────────╮ │ │ │ Pod CIDR and Service CIDR can be modified using one of the below approaches │ │ Interactive installation : │ │ - Set the environment variables "HB_POD_CIDR" and "HB_SERVICE_CIDR" │ │ - For non-root user, Use 'sudo -E' instead of 'sudo' to use the │ │ existing environment variables │ │ Silent installation : │ │ - Set the "pod_cidr" and "service_cidr" values in "healthbot.conf" file │ │ │ │ Post changing the configuration, stop all the healthbot services and reconfigure │ │ healthbot using "healthbot reconfigure" command. │ │ │ ╰───────────────────────────────────────────────────────────────────────────────────╯ 🤔 Validating hostname: 10.xx.xx.28 [executing ..] ping 10.xx.xx.28 -c 1 ℹ️ Validating LoadBalancer IPs: ['10.xx.xx.28'] ℹ️ Offline package not found ✅ Created inventory file ✅ Prepared cluster for new installation ✅ All node(s) validated successfully ✅ Installed Kubernetes cluster successfully ✅ Successfully executed post-install tasks on all host(s) ℹ️ Copying /etc/kubernetes/admin.conf directory to /var/local/healthbot/k8s.conf on master.. ℹ️ Finished copying. ℹ️ Patching docker registry: key=, value=, operator=Exists, effect=NoSchedule ℹ️ Patching docker registry: key=healthbot.juniper.net/dedicated, value=tsdb, operator=Equal, effect=NoExecute [executing ..] kubectl label nodes 10.xx.XX.28 healthbot.juniper.net/tsdb=10-xx-xx-28 --overwrite ✅ Copied helper files to input directory ⌛ Pushing images to registry ✅ Registry is ready 100%|███████████████████████████████████████████████████████████████████████| 50/50 [03:03<00:00, 3.67s/it] ✅ Successfully pushed images to registry ✅ Installation successful. Please run 'healthbot start' ——————————————————————————————————————————————————————————————————————
The following is an example configuration file for multinode installations.
############### Multi-node settings for Kubernetes installations ############### # Absence of multi-node key indicates single node installation. # Un-comment below for multi-node installation. Refer documentation # for more information. This is not a mandatory key. # Use the use_cluster stanza if you already have a kubernetes cluster # If you want HealthBot to install the kubernetes cluster, use the cluster stanza multi_node: cluster: master_nodes: ['10.xx.xx.100'] worker_nodes: ['10.xx.xx.201'] allow_master_scheduling: True load_balancer_ip: ['10.xx.xx.100'] master_virtual_ip: None ssh_user: root ssh_pw: '<Insert password>' pod_cidr: 10.xx.xx.0/16 service_cidr: 10.xx.xx.0/12 # use_cluster: # registry: <Insert registry name> # kubeconfig: <Insert path to kubeconfig file> # # Uncomment the following stanza if want HealthBot to install loadbalancer # load_balancer: # load_balancer_ip: <Insert a Virtual IP here> ############### Single node settings for docker-compose installations ############### ############### Container network settings ############### # Refer: https://docs.docker.com/engine/reference/commandline/network_create/. # For single-node installation, we use default driver. # Un-comment below if you want to control subnet of healthbot's containers. # If devices in your network have IP address from the private IP address # block, use this option to avoid IP address conflict of containers with # network devices. # This is not a mandatory key. # network: # subnet: 10.xx.xx.0/16 # gateway: 10.xx.xx.2 ############### Master settings ############### # Specify below host's ip address on which sshd is listening on the default # port. Don't use localhost or loop-back address. This is a mandatory key. # host_ip: <ip> # Specify below HTTPS certificate and private key file location. # This is a mandatory key. https: cert_file: /var/local/healthbot/certs/cert.pem key_file: /var/local/healthbot/certs/key.pem ************************************************************************************** $ sudo healthbot setup --c <path-to-file>/healthbot.conf ℹ️ Paragon Insights free model/freemium license tier is not available in this version. A valid license(trial or commercial) is needed to use Paragon Insights features ℹ️ Creating docker images. This might take some time... 100%|████████████████████████████████████████████████████████████████████| 50/50 [03:03<00:00, 3.67s/it] ✅ Docker images successfully created 🐳 Loading docker images. This may take some time.. 100%|████████████████████████████████████████████████████████████████████| 50/50 [02:11<00:00, 2.62s/it] ✅ Docker images successfully loaded ✅ Done making directories ╭────────────────────────────────────╮ │ │ │ Installing new Kubernetes cluster │ │ │ ╰────────────────────────────────────╯ ℹ️ Using pod CIDR: 10.xx.xx.0/16 ℹ️ Using service CIDR: 10.xx.xx.0/12 ╭───────────────────────────────────────────────────────────────────────────────────╮ │ │ │ Pod CIDR and Service CIDR can be modified using one of the below approaches │ │ Interactive installation : │ │ - Set the environment variables "HB_POD_CIDR" and "HB_SERVICE_CIDR" │ │ - For non-root user, Use 'sudo -E' instead of 'sudo' to use the │ │ existing environment variables │ │ Silent installation : │ │ - Set the "pod_cidr" and "service_cidr" values in "healthbot.conf" file │ │ │ │ Post changing the configuration, stop all the healthbot services and reconfigure │ │ healthbot using "healthbot reconfigure" command. │ │ │ ╰───────────────────────────────────────────────────────────────────────────────────╯ 🤔 Validating hostname: 10.xx.xx.100 [executing ..] ping 10.xx.xx.100 -c 1 🤔 Validating hostname: 10.xx.xx.201 [executing ..] ping 10.xx.xx.201 -c 1 ℹ️ Validating LoadBalancer IPs: ['10.xx.xx.0'] ℹ️ Offline package not found ✅ Created inventory file ✅ All node(s) validated successfully ✅ Installed Kubernetes cluster successfully ✅ Successfully executed post-install tasks on all host(s) ℹ️ Copying /etc/kubernetes/admin.conf directory to /var/local/healthbot/k8s.conf on master.. ℹ️ Finished copying. ℹ️ Patching docker registry: key=, value=, operator=Exists, effect=NoSchedule ℹ️ Patching docker registry: key=healthbot.juniper.net/dedicated, value=tsdb, operator=Equal, effect=NoExecute [executing ..] kubectl label nodes 10.xx.xx.100 healthbot.juniper.net/tsdb=10-xx-xx-100 --overwrite ✅ Copied helper files to input directory ⌛ Pushing images to registry ✅ Registry is ready 100%|███████████████████████████████████████████████████████████████████████| 50/50 [03:03<00:00, 3.67s/it] ✅ Successfully pushed images to registry ✅ Installation successful. Please run 'healthbot start' ——————————————————————————————————————————————————————————————————————
Customizing the configuration file is self-explanatory. You can uncomment or edit the necessary lines. For example, to change from a single-node installation to a multinode installation, uncomment and edit the following lines from:
#multi_node: # cluster: # master_nodes: [] # worker_nodes: [] # allow_master_scheduling: True # load_balancer_ip: <Insert unused IP here> # ssh_user: <Insert username here> # ssh_pw: <Insert password here> # pod_cidr: 10.xx.xx.0/16 # service_cidr: 10.xx.xx.0/12
to:
multi_node: cluster: master_nodes: [10.xx.xx.200] worker_nodes: [10.xx.xx.82] allow_master_scheduling: True load_balancer_ip: 10.xx.xx.201 ssh_user: hbuser ssh_pw: password1 pod_cidr: 10.xx.xx.0/16 service_cidr: 10.xx.xx.0/12
To run the silent installer package: