mirror of https://github.com/helm/helm
Merge pull request #528 from adamreese/fix/bootstrap
fix(examples): remove bootstrap examplepull/531/head
commit
046b210a49
@ -1,76 +0,0 @@
|
||||
# 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.
|
||||
1. Clone this repository into the src folder of your GOPATH, if you haven't already.
|
||||
1. 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](../../README.md).
|
@ -1,58 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
LOGDIR=log
|
||||
if [[ ! -d $LOGDIR ]]; then
|
||||
mkdir $LOGDIR
|
||||
fi
|
||||
|
||||
KUBECTL=`which kubectl`
|
||||
if [[ -z $KUBECTL ]] ; then
|
||||
echo Cannot find kubectl
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Starting resourcifier..."
|
||||
RESOURCIFIER=`which resourcifier`
|
||||
if [[ -z $RESOURCIFIER ]] ; then
|
||||
echo Cannot find resourcifier
|
||||
exit 1
|
||||
fi
|
||||
pkill -f $RESOURCIFIER
|
||||
nohup $RESOURCIFIER > $LOGDIR/resourcifier.log 2>&1 --kubectl=$KUBECTL --port=8082 &
|
||||
echo
|
||||
|
||||
echo "Starting expandybird..."
|
||||
EXPANDYBIRD=`which expandybird`
|
||||
if [[ -z $EXPANDYBIRD ]] ; then
|
||||
echo Cannot find expandybird
|
||||
exit 1
|
||||
fi
|
||||
pkill -f $EXPANDYBIRD
|
||||
nohup $EXPANDYBIRD > $LOGDIR/expandybird.log 2>&1 --port=8081 --expansion_binary=expandybird/expansion/expansion.py &
|
||||
echo
|
||||
|
||||
echo "Starting deployment manager..."
|
||||
MANAGER=`which manager`
|
||||
if [[ -z $MANAGER ]] ; then
|
||||
echo Cannot find manager
|
||||
exit 1
|
||||
fi
|
||||
pkill -f $MANAGER
|
||||
nohup $MANAGER > $LOGDIR/manager.log 2>&1 --port=8080 --kubectl=$KUBECTL --expanderURL=http://localhost:8081 --deployerURL=http://localhost:8082 &
|
||||
echo
|
||||
|
||||
echo "Creating dm namespace..."
|
||||
$KUBECTL get namespace dm >/dev/null 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
BOOTSTRAP_PATH=$( cd $(dirname $0) ; pwd -P )
|
||||
$KUBECTL create -f $BOOTSTRAP_PATH/dm-namespace.yaml
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "Starting kubectl proxy..."
|
||||
pkill -f "$KUBECTL proxy"
|
||||
nohup $KUBECTL proxy --port=8001 --namespace=dm &
|
||||
sleep 1s
|
||||
echo
|
||||
|
||||
echo "Done."
|
@ -1,37 +0,0 @@
|
||||
resources:
|
||||
- name: expandybird
|
||||
type: github.com/kubernetes/application-dm-templates/common/replicatedservice:v1
|
||||
properties:
|
||||
namespace: dm
|
||||
service_port: 8081
|
||||
target_port: 8080
|
||||
container_port: 8080
|
||||
external_service: false
|
||||
replicas: 2
|
||||
image: gcr.io/dm-k8s-prod/expandybird:latest
|
||||
labels:
|
||||
app: dm
|
||||
- name: resourcifier
|
||||
type: github.com/kubernetes/application-dm-templates/common/replicatedservice:v1
|
||||
properties:
|
||||
namespace: dm
|
||||
service_port: 8082
|
||||
target_port: 8080
|
||||
container_port: 8080
|
||||
external_service: false
|
||||
replicas: 2
|
||||
image: gcr.io/dm-k8s-prod/resourcifier:latest
|
||||
labels:
|
||||
app: dm
|
||||
- name: manager
|
||||
type: github.com/kubernetes/application-dm-templates/common/replicatedservice:v1
|
||||
properties:
|
||||
namespace: dm
|
||||
service_port: 8080
|
||||
target_port: 8080
|
||||
container_port: 8080
|
||||
external_service: false
|
||||
replicas: 1
|
||||
image: gcr.io/dm-k8s-prod/manager:latest
|
||||
labels:
|
||||
app: dm
|
@ -1,7 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
labels:
|
||||
app: dm
|
||||
name: dm-namespace
|
||||
name: dm
|
Loading…
Reference in new issue