upup/

directory
v0.0.0-...-d54b621 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2016 License: Apache-2.0

README

UpUp - CloudUp & NodeUp

CloudUp and NodeUp are two tools that are aiming to replace kube-up: the easiest way to get a production Kubernetes up and running.

(Currently work in progress, but working. Some of these statements are forward-looking.)

Some of the more interesting features:

  • Written in go, so hopefully easier to maintain and extend, as complexity inevitably increases
  • Uses a state-sync model, so we get things like a dry-run mode and idempotency automatically
  • Based on a simple meta-model defined in a directory tree
  • Can produce configurations in other formats (currently Terraform & Cloud-Init), so that we can have working configurations for other tools also.

Bringing up a cluster

Build the code:

cd upup
make

For GCE: Set YOUR_GCE_PROJECT, then:

${GOPATH}/bin/cloudup --v=0 --logtostderr -cloud=gce -zone=us-central1-f -project=$YOUR_GCE_PROJECT -name=kubernetes -kubernetes-version=1.2.2

For AWS: Set AWS_PROFILE (if you need to select a profile for the AWS CLI to work), then:

${GOPATH}/bin/cloudup --v=0 --logtostderr -cloud=aws -zone=us-east-1c -name=kubernetes -kubernetes-version=1.2.2

If you have problems, please set --v=8 --logtostderr and open an issue, and ping justinsb on slack!

For now, we don't build a local kubectl file. So just ssh to the master, and run kubectl from there:

gcloud compute ssh kubernetes-master
...
kubectl get nodes
kubectl get pods --all-namespaces

Other interesting modes:

See changes that would be applied: ${GOPATH}/bin/cloudup --dryrun

Build a terrform model: ${GOPATH}/bin/cloudup $NORMAL_ARGS --target=terraform > tf/k8s.tf.json

How it works

Everything is driven by a local configuration directory tree, called the "model". The model represents the desired state of the world.

Each file in the tree describes a Task.

On the nodeup side, Tasks can manage files, systemd services, packages etc. On the cloudup side, Tasks manage cloud resources: instances, networks, disks etc.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL