A multi-node Kubernetes installation is recommended for production deployments and and larger trials.
Kubespray is a popular tool for deploying Kubernetes on multiple nodes:
For simplicity, CORD provides some easy-to-use automation scripts to quickly setup Kubespray on an arbitrary number of target machines. This is meant only for lab trials and demo use.
virtualenv
installed (used for setting up ansible and modules to run the kubespray playbooks)On the operator machine
git clone https://gerrit.opencord.org/automation-tools
Inside this directory, you will find a folder called kubespray-installer; the following assumes you are running commands in this directory
The main script (setup.sh) provides a help message with instructions. To see it, run ./setup.sh --help.
The main functions are:
Before starting the installation make sure that
The following example assumes that
Remote machines have the following IP addresses:
The deployment/POD has been given the arbitrary name onf
The installation procedure goes through the following steps (in this order):
To run the installation script, type
./setup.sh -i onf 10.90.0.101 10.90.0.102 10.90.0.103
NOTE: at the beginning of the installation you will be asked to insert your password multiple times. NOTE: the official Kubespray installation script will automatically change the hostname of the target machine(s) with nodeX (where X is an incremental number starting from 1).
At the end of the procedure, Kubespray should be installed and running on the remote machines.
The configuration file to access the POD will be saved in the sub-directory configs/onf.conf.
If you want to deploy another POD without affecting your existing deployment run the following:
./setup.sh -i my_other_deployment 192.168.0.1 192.168.0.2 192.168.0.3
Your onf.conf configuration will be always there, and your new my_other_deployment.conf file as well!
Kubectl and helm (see here for more details) need to be pointed to a specific cluster before being used. This is done through standard KUBECONFIG files.
The script also helps you to automatically export the path pointing to an existing KUBECONFIG file, previously generated during the installation.
To do so, for example against the onf pod just deployed, simply type
source setup.sh -s onf
At this point, you can start to use kubectl and helm.
Once you are done, you are ready to install Kubctl and Helm, so return to here in the installation guide.