Hosts
Hosts are hardware servers assigned to the platform and included into the Host Groups. Click the Cluster > Hosts section in JCA to see the state and manage your hosts:
- Cluster State
- Components Check
- Add New Host
- Adjust Host
- Evacuate Containers
- Manage Labels (Multi Zones)
- Remove Host
Cluster State
Once inside, you’ll see a list of hosts grouped within their respective hardware regions and host groups:
The following information about your hardware is available within the columns of this list:
- Name - a denomination of the host; special icons are provided for hosts that
- store images’ cache - Docker Host
- operate as virtual network gateway – Virtual Network Endpoint
- Load Rating - a numerical representation of the host’s “busyness”
Tip: Load Rating is automatically calculated as a ratio of the allocated to free resources (higher value means higher host load). It is utilized during container distribution, ensuring better platform performance. Additional value in brackets (if specified) is a manually provided offset added to correct the Load Rating due to the current host specifics.
You can use the Interval drop-down list at the tools panel to select the required time frame for the Load Rating (5, 15, 30, or 60 minutes).
- Status - the possible values are:
- ACTIVE - host operates normally; new containers can be created
- INFRASTRUCTURE - infrastructure host; cannot be used for evacuation
- MAINTENANCE - the host is under maintenance; the existing containers are working, but the new ones cannot be added
- UNLICENSED - the host is not licensed by the platform; all containers are stopped, and new ones cannot be created
- EVACUATING - the process of containers evacuation is run; host can’t be edited or removed
- EVACUATED - evacuation has been successful
- EVACUATION_FAILED - the process of evacuation has failed
- BROKEN - some errors have occurred in the host’s work
- Virtualization - container-based virtualization solution used on a host: Virtuozzo (VZ-7) or, for Windows-based hosts, Parallels Virtuozzo Containers (PVC)
- Memory - the total RAM available on the host (the value to the right) and the amount in use (the left one); hover over for additional details
- Disk - the already allocated disk space compared to the overall capacity of the host disk (left and right values respectively)
- Load Average 5/10/15 min - the average load rating for the denoted periods (higher values mean a higher load)
- Swap - the amount of allocated and used swap space (right and left values respectively)
- ID - unique identifier of the host (e.g. used in admin API methods)
- Labels - a list of the special markings to manage multi zones distribution
The displayed data is regularly updated (every 20 seconds), ensuring that information is always relevant. Select a particular host (click it) to view the detailed information within the right-hand panel:
Here, several tabs are available:
- State - shows a set of host’s parameters (can vary based on the OS type)
- Load Info - lists the types and count of the nodes (stacks) used on the host via the appropriate diagram; can be filtered by status (Total, Launching, Down, Sleep, Running) using the drop-down list at the top
- Evacuation State - shows the nodes (Name) which are evacuated with the state/result (Value) of the operation. You can manually Refresh the tab to see the latest changes or Stop the evacuation process using the buttons at the top
- Nodes - redirects you to the Cluster > Nodes JCA section with the appropriate host automatically selected in filters
Components Check
Components check allows the JelCore to query a particular host, verifying whether it is appropriately configured to be used by the platform.
The main check application runs a list of tests on a host and gathers information about its state. Each test represents a separate dynamic module, which allows adding new checks.
Currently, the following modules are used by default:
- ip_tables checks firewall configuration on the host
- routes checks the correctness of the routes
- vzshaper checks if the shaper is enabled at the host
- kernel_modules checks if all the required kernel modules are loaded
- masquerading checks network masquerading rules
- ipv6 (for the Linux-based hosts only) checks IPv6 configuration
- timezone checks timezone and sets it as UTC (if it’s not)
- pva_agent checks Virtuozzo agent availability and configurations
- vzsettings checks Virtuozzo configurations on the host
- docker (for the Linux-based hosts only) checks host connection to the shared storage for Docker templates and, if required, corrects it
- repositories (for the Windows-based hosts only) checks host connection to the correct Spacewalk channel; also, adjusts it during the platform updates
The results of these checkups can be seen in the host’s State tab.
If the host is configured correctly, all the modules should be marked with the green OK label. Otherwise, the problematic ones will be provided with the error description (for example, “module_name is not enabled”). Also, the appropriate host is automatically highlighted in red, which allows viewing an error message by hovering over the Status.
Add New Host
The platform automates the addition of a new host to the cluster so that you can perform it in a few simple steps. Access the Hosts section, click the Add button at the top panel and select the preferable option:
- SSH Command - run the provided script on your server to automatically fetch required information and add the host
- UI Wizard - add a host with the possibility to manually define all options using UI form
SSH Command
Within the opened window, use the Host Group drop-down list (automatically hidden if there is just one host group on the platform) to select where to include your new server. Next, copy the provided command with the appropriate button.
Run the command on your server, and the host will be included in the cluster automatically (the script fetches all the required information by itself). For the installation with a possibility to manually define options, it is recommended to use the UI wizard option.
UI Wizard
Note: In the case of host reinstallation with the same hostname, you need to perform the following additional steps:
- locate the platform puppet server UUID
|
|
- access the container
|
|
- get a list of all hosts
|
|
- remove the registration of the appropriate host
|
|
If you get an error during the “Run puppet agent” host installation step, you need to validate the certificate by executing the next command on the above-mentioned container:
|
|
Proceed by clicking Resume Installation in JCA.
1. The Add Host dialog has three tabs where you can provide the necessary data.
Basic Data:
- Display Name - any preferable name for your hardware
- IP Address - LAN address from this host’s internal pool (preliminary assigned to the region) with SSH protocol port after the colons (22 by default)
- Credentials - section to specify administrator account’s Login & Password (required for authentication)
- Host Group - select a set of hardware from the list of available ones
- Status - state of the added host after installation (ACTIVE, BROKEN, INFRASTRUCTURE, or MAINTENANCE)
- Virtualization - a type of container-based virtualization solution to be used on the host (VZ-7 or PVC for Windows hosting)
- Load Rating Offset - a fixed value (could be negative) added to the final load rating score of the host to offset some specifics
- Install VZ - checkbox, which enables Virtuozzo software redeployment to the latest version supported on the host. Be aware that all of the data on your host will be permanently lost (use with the VZ-7 virtualization only)
Advanced Settings:
- Use as Docker Host - marks the current server as a Docker Host for the region
- Skip Configuration - allows adding host instantly, skipping the configurations (see the next step); can be required for the reinstallation of a host after being removed with the force flag
- Use L2 Overlay Network - automatically configures L2 overlay network for the platform on the specified IP address (using the Open vSwitch technology)Note: Tick this option only in case the L2 overlay network is not configured for the platform yet.
- Virtual IP – virtual IP assigned to the instances on this host
- External IP – external IP inside the network
- Real External IP – external IP to access from the Internet (outside the network)
- IPsec Key – cryptographic key to authenticate and encrypt communication between endpoints of the network. Leave blank for the platform to generate an authentication key automatically. The setting requires manual adjustment only if several keys are on the host and the platform selects the incorrect one
Virtual Networks – select hosts to which the platform should automatically create virtual network tunnels.
Click Add to proceed.
2. The host will appear in the list with the INSTALLING status. Upon its selection, you can track the process within the corresponding Installation tab to the right.
Here, you can see the following information:
- Start Time - actions' initiation time
- Action - a particular operation, required for host installation
- Status - the performed action result (OK, WARNING, or ERROR)
Note: If an issue occurs during installation, the corresponding step will be marked with either warning or error status within the list. The first result corresponds to some non-critical failure so that the installation proceeds further, while the second one interrupts the process.
In case of failure, you get the corresponding notification at the bottom of the installation section and email notification with the problem description. Also, you can hover over the ERROR string to get additional information.
As soon as you fix the problem, the process can be continued with the appropriate Resume Installation button at the top pane (not available if Install VZ was selected).
The host installation is a prolonged process, which may take up to an hour. You’ll be informed via email about the results.
3. During the initial creation, we recommend adding a new host into a separate host group and in the MAINTENANCE status. It will allow you to perform additional verifications such as installing some Java- and PHP-based packages (e.g. Cyclos and WordPress Cluster) and check containers migration to/from other hosts.
If everything works fine, you can set the host’s status to ACTIVE and change the host group to the required one.
Adjust Host
1. Select the required host and click Edit at the toolbar above (or double-click the appropriate record).
2. Make the required changes in the opened Edit Host dialog.
It’s possible to change the main parameters provided in the Add Host window except: Virtualization type, Install VZ and Skip Configuration options, Virtual Network configurations.
Note: The Edit Credentials operation (tick the corresponding check-box) is obligatory after changing credentials on your server. It allows the platform to continue working with the host (to gather and process data, display statistics, etc.).
However, an attempt to provide new credentials without updating them on the host beforehand results in the appropriate error
3. Once all the required changes are made, click Save at the bottom of the frame and the host settings will be modified.
Evacuate Containers
If needed the containers can be transferred from one host to another. You can move them one-by-one (migrate) or evacuate all nodes at once.
1. In the Cluster > Hosts section, select a host and click Evacuate Containers at the tools panel.
2. The appeared Evacuate Containers dialog allows you to see the list of other Hosts from the same host group, which can be used as a target for evacuation.
Select the required ones to evenly (i.e. based on the current load and allocation of the horizontaly scaled components in the environments) distribute containers from the source host.
3. Navigate to the Evacuation State tab in the right panel to see the current state of the process. If needed, you can Stop the evacuation with the same-named button at the tools panel (the already started migration processes are not interrupted).
4. After the evacuation, you should perform an obligatory check to ensure that no containers are left on the host:
|
|
5. Ensure that no infrastructure containers (e.g. shared load balancers, docker host, uploader or any shared storages) are located on the host. If there are any, migrate them using the following command:
|
|
6. For other containers, you should check the existence of the appropriate environments:
- copy the domain name (e.g. env-1874316)
- navigate to the JCA > Cluster > Environments section
- enter the domain name to the Domain or Alias field and click Search
If such an environment exists, escalate this issue to the platform support.
Manage Labels (Multi Zones)
The platform performs the distribution of nodes within layers based on the anti-affinity rules, ensuring applications' high-availability. The multi zones approach allows configuring distribution criteria for JPS packages by providing labels for the hosts.
Click the Change Labels button at the tools panel to access the edit mode for labels:
- select the host(s), which should be adjusted, by ticking the required ones in the first column of the table
- choose the type of adjustment from the appropriate drop-down list:
- Add to Existing - adds the provided labels to the list of existing ones
- Replace All with - adds the provided labels, while discarding all of the existing ones
- Find and Remove these - removes labels that match the provided ones
- Remove All - removes all of the labels
- provide label(s) in the “{name}: {value}” format
When ready, click Apply to save changes or Cancel to discard them.
Refer to the Multi Zones guide for the extended description of the required configurations and detailed example of the distribution algorithm.
Remove Host
If you want to remove a particular host from the cluster, follow the instructions below.
1. It is highly recommended to evacuate all the containers from such a host before proceeding further.
2. Select the host, which you want to Remove and click the appropriate button at the tools panel.
3. Confirm your decision by selecting OK in the appeared pop-up window.
By default, you can remove hosts only if there are no nodes. However, you can Force removal of the host with containers by ticking the appropriate check-box.
4. After this, you can update the list to see the changes.
Click the Refresh button to do it instantly or wait for the regular (every 20 seconds) automatic update.