First draft of shell scripts for deploying kube to Azure.

This commit is contained in:
Jeff Mendoza
2014-07-18 11:48:04 -07:00
parent d8faca9e81
commit 3ff6b0f8a6
8 changed files with 382 additions and 0 deletions

35
release/config-azure.sh Normal file
View File

@@ -0,0 +1,35 @@
AZ_LOCATION='West US'
AZ_SSH_KEY=$HOME/.ssh/azure
AZ_SSH_CERT=$HOME/.ssh/azure.pem
AZ_IMAGE=b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140618.1-en-us-30GB
AZ_SUBNET=Subnet-1
TAG=testing
if [ -z "$(which azure)" ]; then
echo "Couldn't find azure in PATH"
exit 1
fi
if [ -z "$(azure account list | grep true)" ]; then
echo "Default azure account not set"
exit 1
fi
account=$(azure account list | grep true | awk '{ print $2 }')
if which md5 > /dev/null 2>&1; then
hsh=$(md5 -q -s $account)
else
hsh=$(echo -n "$account" | md5sum)
fi
hsh=${hsh:0:7}
STG_ACCOUNT=kube$hsh
AZ_VNET=kube-$hsh
AZ_CS=kube-$hsh
CONTAINER=kube-$TAG
FULL_URL="https://${STG_ACCOUNT}.blob.core.windows.net/$CONTAINER/master-release.tgz"

48
release/release-azure.sh Executable file
View File

@@ -0,0 +1,48 @@
#!/bin/bash
set -eu
set -o pipefail
IFS=$'\n\t'
SCRIPT_DIR=$(CDPATH="" cd $(dirname $0); pwd)
function json_val () {
python -c 'import json,sys;obj=json.load(sys.stdin);print obj'$1'';
}
source $SCRIPT_DIR/config-azure.sh
source $SCRIPT_DIR/../cluster/${KUBE_CONFIG_FILE-"config-default.sh"}
$SCRIPT_DIR/build-release.sh $INSTANCE_PREFIX
if [ -z "$(azure storage account show $STG_ACCOUNT 2>/dev/null | grep data)" ]; then
azure storage account create -l "$AZ_LOCATION" $STG_ACCOUNT
fi
stg_key=$(azure storage account keys list $STG_ACCOUNT --json | json_val '["primaryKey"]')
if [ -z "$(azure storage container show -a $STG_ACCOUNT -k "$stg_key" $CONTAINER 2>/dev/null | grep data)" ]; then
azure storage container create \
-a $STG_ACCOUNT \
-k "$stg_key" \
-p Blob \
$CONTAINER
fi
if [ -n "$(azure storage blob show \
-a $STG_ACCOUNT \
-k "$stg_key" \
$CONTAINER \
master-release.tgz 2>/dev/null | grep data)" ]; then
azure storage blob delete \
-a $STG_ACCOUNT \
-k "$stg_key" \
$CONTAINER \
master-release.tgz
fi
azure storage blob upload \
-a $STG_ACCOUNT \
-k "$stg_key" \
$SCRIPT_DIR/../output/release/master-release.tgz \
$CONTAINER \
master-release.tgz