Welcome to the bootstrap example. The instructions below will step you through the process of building and running a local instance of Deployment Manager on your local machine, and then using it to deploy another instance in your cluster.
This example provides insights into how Deployment Manager works, and is recommended for anyone interested in contributing to the project.
The instructions below assume that you have a Kubernetes cluster up and running,
and that you can run kubectl
commands against it. They also assume that that
you're working with a clone of the repository installed in the src folder of your
GOPATH and that your PATH contains $GOPATH/bin
, per convention.
Since Deployment Manager uses Python and will be running locally on your machine, you will first need to make sure the necessary Python packages are installed. This assumes that you have already installed the pip package management system on your machine.
sudo pip install -r expandybird/requirements.txt
Next, you're going to build and install the Deployment Manager binaries. You can do this by running make in the repository root.
make
Now, you're ready to bootstrap Deployment Manager into the cluster.
First, start the three Deployment Manager 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.
Next, use the Deployment Manager running on localhost to deploy itself onto the cluster using the supplied command line tool and template.
client --name test --service=http://localhost:8080 examples/bootstrap/bootstrap.yaml
You should now have Deployment Manager running on your cluster, and it should be visible using kubectl (kubectl get pod,rc,service).