You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
helm/examples/bootstrap/README.md

2.5 KiB

Bootstrapping Deployment Manager

Welcome to the bootstrap example. The instructions below will step you through the process of building and running a local instance of DM on your local machine, and then using it to deploy another instance of DM in your cluster.

This example provides insights into how DM works, and is recommended for anyone interested in contributing to the project.

Prerequisites

Before you can bootstrap DM, the following prerequisites must be satisfied.

Kubernetes cluster and go configuration

  1. Make sure your Kubernetes cluster is up and running, and that you can run kubectl commands against it.
  2. Clone this repository into the src folder of your GOPATH, if you haven't already.
  3. Make sure your PATH contains $GOPATH/bin.

Installing required python packages

Since Deployment Manager uses Python and will be running locally on your machine, you need to make sure the necessary Python packages are installed. This step assumes that you have already installed the pip package management system on your machine.

pip install -r expandybird/requirements.txt

Note: depending on how you installed python and pip, you may need to use sudo for this command.

Bootstrapping Deployment Manager

With the prerequisites satisfied, you're ready to bootstrap DM.

Building and installing the binaries

First, you're going to build and install the DM binaries. You can do this by running make in the repository root.

make

Start Deployment Manager on localhost

Next, start the three DM binaries on localhost using the supplied bootstrap script.

./examples/bootstrap/bootstrap.sh

The script starts the following binaries:

  • manager (frontend service) running on port 8080
  • expandybird (expands templates) running on port 8081
  • resourcifier (reifies primitive Kubernetes resources) running on port 8082

It also starts kubectl proxy on port 8001.

Deploy Deployment Manager into your cluster

Finally, use the DM running on localhost to deploy another instance of DM onto the cluster using dm and the supplied template. Note that you are using the --service flag to point dm to the instance of DM running on localhost, rather than to an instance of DM running in the cluster through kubectl proxy, which is the default.

dm --service=http://localhost:8080 deploy examples/bootstrap/bootstrap.yaml

You now have Deployment Manager running on your cluster. You can see it running using kubectl, as described in the top level README.md.