Skip to content

Commit

Permalink
Merge pull request kubernetes#3106 from brendandburns/simple
Browse files Browse the repository at this point in the history
Add a script suitable for wget https://get.k8s.io | sh installation
  • Loading branch information
brendandburns committed Jan 7, 2015
2 parents 512e262 + 1091744 commit 3d82892
Showing 1 changed file with 117 additions and 0 deletions.
117 changes: 117 additions & 0 deletions cluster/get-kube.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
#!/bin/bash

# Copyright 2014 Google Inc. All rights reserved.
#
# 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.

# Bring up a Kubernetes cluster.
# Usage:
# wget -q -O - https://get.k8s.io | sh
# or
# curl -sS https://get.k8s.io | sh
#
# Advanced options
# Set KUBERNETES_PROVIDER to choose between different providers:
# Google Compute Engine [default]
# * export KUBERNETES_PROVIDER=gce; wget -q -O - https://get.k8s.io | sh
# Amazon EC2
# * export KUBERNETES_PROVIDER=aws; wget -q -O - https://get.k8s.io | sh
# Microsoft Azure
# * export KUBERNETES_PROVIDER=azure; wget -q -O - https://get.k8s.io | sh
# Vagrant (local virtual machines)
# * export KUBERNETES_PROVIDER=vagrant; wget -q -O - https://get.k8s.io | sh
# VMWare VSphere
# * export KUBERNETES_PROVIDER=vsphere; wget -q -O - https://get.k8s.io | sh
# Rackspace
# * export KUBERNETES_PROVIDER=rackspace; wget -q -O - https://get.k8s.io | sh
#
# Set KUBERNETES_SKIP_DOWNLOAD to non-empty to skip downloading a release.
# Set KUBERNETES_SKIP_CONFIRM to skip the installation confirmation prompt.
set -o errexit
set -o nounset
set -o pipefail

function create-cluster {
echo "Creating a kubernetes on ${KUBERNETES_PROVIDER:-gce}..."
(
cd kubernetes
./cluster/kube-up.sh
echo "Kubernetes binaries at ${PWD}/kubernetes/cluster/"
echo "You may want to add this directory to your PATH in \$HOME/.profile"

echo "Installation successful!"
)
}

if [[ "${KUBERNETES_SKIP_DOWNLOAD-}" ]]; then
create-cluster
exit 0
fi

release=v0.7.2
release_url=https://storage.googleapis.com/kubernetes-release/release/${release}/kubernetes.tar.gz

uname=$(uname)
if [[ "${uname}" == "Darwin" ]]; then
platform="darwin"
elif [[ "${uname}" == "Linux" ]]; then
platform="linux"
else
echo "Unknown, unsupported platform: (${uname})."
echo "Supported platforms: Linux, Darwin."
echo "Bailing out."
exit 2
fi

machine=$(uname -m)
if [[ "${machine}" == "x86_64" ]]; then
arch="amd64"
elif [[ "${machine}" == "i686" ]]; then
arch="386"
elif [[ "${machine}" == "arm*" ]]; then
arch="arm"
else
echo "Unknown, unsupported architecture (${machine})."
echo "Supported architectures x86_64, i686, arm*"
echo "Bailing out."
exit 3
fi

file=kubernetes.tar.gz


echo "Downloading kubernetes release ${release} to ${PWD}/kubernetes.tar.gz"
if [[ -n "${KUBERNETES_SKIP_CONFIRM-}" ]]; then
echo "Is this ok? [Y]/n"
read confirm
if [[ "$confirm" == "n" ]]; then
echo "Aborting."
exit 0
fi
fi

if [[ $(which wget) ]]; then
wget -O ${file} ${release_url}
elif [[ $(which curl) ]]; then
curl -L -o ${file} ${release_url}
else
echo "Couldn't find curl or wget. Bailing out."
exit 1
fi

echo "Unpacking kubernetes release ${release}"
tar -xzf ${file}
rm ${file}

create-cluster

0 comments on commit 3d82892

Please sign in to comment.