Installation: Prepare¶
If you will be deploying to a cloud provider, please first check to see if we have a terraform package for your provider. This will aid you in ensuring certain required steps are performed first.
Tip
We highly recommend using our terraform provider, or at least modify one to work with your desired provider. A lot of the installation challenges come from running our ansible installer on a platform we have not used.
Setup Ansible¶
Install Ansible¶
Please see the ansible installation guide for more details on how to proceed with installing ansible.
Install On Mac Os
Ensure you have homebrew installed, and run: brew install ansible
Install On Linux
To ensure you have an up-to-date copy of Ansible, we recommend using pip to install ansible.
pip install --user ansible
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
source ~/.bashrc
Note: For some distributions, it may be ~/.bash_profile instead of .bashrc.
Download our Ansible Package¶
QUICK INSTALL
- Download latest zip from https://github.com/ComputeStacks/ansible-install
-
Decompress and open directory
-
INSTALL FROM GIT (OPTIONAL)
Tip
If you used our terraform providers, you can skip the mv inventory.yml.sample inventory.yml command and copy the result/inventory.yml file to the root of this directory.
Warning
The actual bootstrap process can take up to an hour, so we recommend you setup your ansible environment on a remote linux server, and run either tmux or screen.
Inventory File¶
Please review your inventory.yml file and ensure all the settings are correct. You may check the roles/<role>/defaults/main.yml file for each role to see additional configuration options.
Prepare the servers¶
Server Hostnames¶
Ensure all hostnames are configured properly on each node. Our system expects the hostnames on nodes to be 1 lowercase word (dashes or underscores are ok), no special characters or spaces. They should not be FQDN or have the dot notation.
Examples: node101, node102, node103
The reason these are critical are two fold:
a) When metrics are stored for containers or nodes, the hostname is added as a label. This is how ComputeStacks is able to filter metrics for the correct container/node.
b) Backup jobs are assigned to the node by their hostname. If there is a mismatch in the controller, then jobs will not run.
Base Packages¶
Please ensure the following packages have been installed prior to running the ansible installation.
apt update && apt -y install openssl ca-certificates linux-headers-amd64 python3 python3-pip python3-openssl python3-apt python3-setuptools python3-wheel
Next Step: Perform Installation