Skip to content
Snippets Groups Projects
Forked from stackspin / stackspin
7032 commits behind the upstream repository.
Varac's avatar
40860aee

OpenAppStack bootstrap script

This collection of scripts allows you to easily set up a new OpenAppStack cluster.

As part of the bootstrap process a special control shell is installed (in the form of a Docker image) which contains utilities to manage your cluster.

Prerequisites

  • You need to have ssh access (either as root, or as another user that can sudo) to the machines that will make up your cluster.

  • You need ansible >= 2.5 installed on your workstation to run the bootstrap scripts. Please install it using your system package manager. In the case your system package manager doesn't provide ansible >= 2.5 you can install it via the python package manager like this:

    pip3 install --user -r ansible/requirements.txt

    Hint: If you get a segmentation fault using above command, you can add --no-use-wheel to it.

Bootstrapping a new cluster

Configure your cluster

Copy ansible/inventory.yml.example to ansible/inventory.yml and edit it to reflect your cluster.

Also copy ansible/group_vars/cluster/settings.yml.example to ansible/group_vars/cluster/settings.yml and edit as you see fit.

Install

To run the bootstrap process, move into the ansible directory, then run

ansible-playbook bootstrap.yml

Managing an existing cluster

Login to your cluster with:

ssh USER@SERVER

where SERVER is the address of the master machine of your cluster and USER the ansible_user you configured in ansible/inventory.yml.

Some programs that are installed on your cluster:

  • kubectl is the Kubernetes control program. For example, run kubectl get pod to see a list of pods that currently exist in your cluster. Run kubectl --help for help.
  • helm is the "Kubernetes package manager". Use helm ls to see what apps are installed in your cluster. You can also use it to perform manual upgrades; see helm --help.
  • helmfile is a high-level tool to manage your app installations. For example, run helmfile -e oas diff to view the differences between what's currently installed and what should be installed according to the OpenAppStack installation plan.