2.2. Deploying Compute Nodes¶
To deploy compute nodes, that is, make your Virtuozzo Hybrid Server nodes manageable by the controller, do the following on the controller node:
Create a file, e.g.
nodes.lst
, with a list of Virtuozzo Hybrid Server nodes to be attached to the cluster. Specify each node, one per line, in the form<user>:<password>@<node_hostname>
.Important
Hostnames are case-sensitive.
For example:
root:passwd1@vz_hostname1 root:passwd2@vz_hostname2
Use root credentials because deployment involves package installation, service setup, and other actions that require root privileges.
Note
Keep this file if you plan to add more compute nodes later. For details, see Adding Compute Nodes.
Set the required owner and file permissons to the nodes list file:
# chown root nodes.lst # chmod 600 nodes.lst
Run the deploy script:
# vzapi-installer computes --nodes=nodes.lst
The
vzapi-installer
script will place SSH keys stored in/var/lib/vzapi
on each node in the list and launchansible-playbook
to perform actual deployment.Note the following:
Once the compute component is deployed on a node, that node’s name is added to the computes section of the file
/var/lib/vzapi-installer/inventory.json
.Virtuozzo does not have the firewall enabled by default. If, however, you have configured and started a firewall manually on a compute node, create rules to open the required ports on that compute node (see Appendix A: Controller and Compute Ports).
When deployment is completed successfully, you will see a recap from Ansible. For example:
PLAY RECAP ********************************************************************* compute1.example.com : ok=15 changed=9 unreachable=0 failed=0 <...> compute10.example.com : ok=15 changed=8 unreachable=0 failed=0 Compute nodes have been deployed successfully!
If you later need to redeploy existing compute nodes listed in your nodes.lst
file or update PowerPanel components on them, run
# vzapi-installer computes
2.2.1. Adding Compute Nodes¶
To add more compute nodes after installation, specify their information in nodes.lst
in addition to compute nodes already deployed and run the deploy script:
# vzapi-installer computes --nodes=nodes.lst
Important
If invoked with the --nodes=nodes.lst
option, the deploy script will only deploy compute nodes specified in nodes.lst
and remove from Ansible configuration files all existing compute nodes that are not listed in this file. For information on how to remove a compute node from Virtuozzo PowerPanel completely, see Removing Compute Nodes.
2.2.2. Removing Compute Nodes¶
To remove a deployed compute node from Virtuozzo PowerPanel, do the following:
Stop and disable the
vzapi-compute
service on the compute node:# systemctl disable vzapi-compute.service --now # systemctl is-active vzapi-compute.service
Remove the
vzapi-compute
package and configuration files from the compute node:# docker rmi $(docker images docker.virtuozzo.com/virtuozzo/vzapi-compute -q) # rm -r /etc/vzapi
Remove information on the compute node and its VEs from the Virtuozzo PowerPanel database. Do the following on the controller node:
Find out the ID of the node to delete by means of the
vzapi host list
command. For example:# vzapi host list <...> { "created_at": "2017-03-06T12:18:27.000000", "hostname": "compute4.example.com", "id": "6ddbb2c1632a42ce9d2d8a83a7c93e04" }, <...>
Using the compute node ID, delete the information about the node and its VEs from the database. For example:
# vzapi host delete 6ddbb2c1632a42ce9d2d8a83a7c93e04
Note
If you remove host information from the database without stopping and removing the
vzapi-compute
service, said information will be restored in the database on nextvzapi-compute
restart.