/10acre-ranch

Build Rancher environment on GCE

Primary LanguageShellApache License 2.0Apache-2.0

Wrapper to deploy Rancher on Google Compute Engine

===== Prerequisites:

  • Google Cloud SDK - SDK

=========

gce-10acre-ranch Usage:
    gce-10acre-ranch [opts]
    -a - Agent Container:
            needs full container repo/name[:tag]
    -c - Cluster name[Required]
    -d - DELETE ALL NODES
    -e - External IP for master...(yes this is getting rediculous)
    -i - Show the IP address of the master
    -h - Print this message
    -l - List nodes or clusters if no -c is passed
    -m - Machine type [default is f1-micro]
    -n - Number of nodes [defaults to 3]
    -N - Network [default is default]
    -s - Server Container:
            needs full container repo/name[:tag]
    -o - OS image
           centos-6 (Servers only. Configuration is manual)
           centos-7 (Servers only. Configuration is manual)
           rhel-6 (Servers only. Config is manual)
           rhel-7 (Servers only. Config is manual)
           coreos-<version>
           coreos-stable
           debian-7-backports
           fedora-21 (Rancher Labs Only)
           ubuntu-<version>
    -p - privileged (needed for fedora)
        - server
        - agent
        - all
    -q - Do not prompt user
    -r - Registration url
    -t - Use https://test.docker.com when installing docker
    -z - Zone [default is us-central1-f]

If you are using this outside of Rancher Labs

Set the GCE Project export the environment variable GCE_PROJECT="<project>"

Images

For CoreOS and Ubuntu first look at the output of:

gcloud compute images list --project <project>

These versions do not always have aliases and update frequently. So we are just passing that along.

The default is Ubuntu-14-04 if no -o option is specified.

To deploy a cluster:

./gce-10acre-ranch -c <clustername> -n <number of nodes> -w

Deploy source code versions

gce-10acre-ranch -s rancher/build-master -p server -c rancher-dev -n 1 -w

Currently all nodes will be deployed with Ubuntu 14.04. The naming convention is: -10acre-master-0 -10acre-[1:N]

For more customizations/testing capabilities you can sepecify the Docker images for server and agents:

Server
./gce-10acre-ranch -c <clustername> -n <number of nodes> -s rancher/server:development

Agent
./gce-10acre-ranch -c <clustername> -n <number of nodes> -a <user>/agent:development

Or both
./gce-10acre-ranch -c <clustername> -n <number of nodes> -a <user>/agent:development -s <user>/dev-server

The Docker images must be real and accessible to Docker.

Get the master IP:

./gce-10acre-ranch -c <cluster name> -i

You can hit this IP over port 8080 to get to the UI

List all Clusters:

./gce-10acre-ranch -l

List all the nodes:

./gce-10acre-ranch -c <cluster name> -l

Destroy the cluster(-q for quiet):

./gce-10acre-ranch -c <cluster name> -d (-q)

Contact

For bugs, questions, comments, corrections, suggestions, etc., open an issue in rancher/rancher with a title starting with [10acre-ranch] .

Or just click here to create a new issue.

License

Copyright (c) 2014-2015 Rancher Labs, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.