azure: azkube v0.0.5 + deploy kube-system

pull/6/head
Cole Mickens 2016-03-22 10:22:45 -07:00
parent 6d774c9d37
commit 579d179239
1 changed files with 39 additions and 16 deletions

View File

@ -34,6 +34,9 @@ KUBE_CONFIG_FILE="${KUBE_CONFIG_FILE:-"${DIR}/config-default.sh"}"
source "${KUBE_CONFIG_FILE}"
source "${KUBE_ROOT}/cluster/common.sh"
AZKUBE_VERSION="v0.0.5"
REGISTER_MASTER_KUBELET="true"
function verify-prereqs() {
required_binaries=("docker" "jq")
@ -152,41 +155,59 @@ function ensure-hyperkube() {
export AZURE_HYPERKUBE_SPEC="${user_image_tag}"
}
function azure-deploy(){
declare -a auth_params
declare -a docker_params
declare -a resource_group_params
function deploy-kube-system() {
kubectl create -f - <<EOF
apiVersion: v1
kind: Namespace
metadata:
name: kube-system
EOF
}
function get-common-params() {
declare -a AZKUBE_AUTH_PARAMS
declare -a AZKUBE_DOCKER_PARAMS
declare -a AZKUBE_RESOURCE_GROUP_PARAM
case "${AZURE_AUTH_METHOD}" in
"client_secret")
auth_params+=("--client-id=${AZURE_CLIENT_ID}" "--client-secret=${AZURE_CLIENT_SECRET}")
AZKUBE_AUTH_PARAMS+=("--client-id=${AZURE_CLIENT_ID}" "--client-secret=${AZURE_CLIENT_SECRET}")
;;
"device")
auth_params+=()
AZKUBE_AUTH_PARAMS=()
;;
esac
if [[ ! -z "${AZURE_HTTPS_PROXY:-}" ]]; then
docker_params+=("--net=host" "--env=https_proxy=${AZURE_HTTPS_PROXY}")
fi
if [[ ! -z "${AZURE_RESOURCE_GROUP:-}" ]]; then
echo "Forcing use of resource group ${AZURE_RESOURCE_GROUP}"
resource_group_params+=("--resource-group=${AZURE_RESOURCE_GROUP}")
if [[ ! -z "${AZURE_RESOURCE_GROUP_PARAM:-}" ]]; then
echo "Forcing use of resource group ${AZURE_RESOURCE_GROUP_PARAM}"
resource_group_params+=("--resource-group=${AZURE_RESOURCE_GROUP_PARAM}")
fi
export AZKUBE_AUTH_PARAMS
export AZKUBE_DOCKER_PARAMS
export AZKUBE_RESOURCE_GROUP_PARAM
}
function azure-deploy(){
get-common-params
docker run -it \
--user "$(id -u)" \
"${docker_params[@]:+${docker_params[@]}}" \
"${AZKUBE_DOCKER_PARAMS[@]:+${AZKUBE_DOCKER_PARAMS[@]}}" \
-v "$HOME/.azkube:/.azkube" -v "/tmp:/tmp" \
-v "${AZURE_OUTPUT_DIR}:/opt/azkube/${AZURE_OUTPUT_RELDIR}" \
colemickens/azkube:v0.0.2 /opt/azkube/azkube deploy \
"colemickens/azkube:${AZKUBE_VERSION}" /opt/azkube/azkube deploy \
--kubernetes-hyperkube-spec="${AZURE_HYPERKUBE_SPEC}" \
--deployment-name="${AZURE_DEPLOY_ID}" \
--location="${AZURE_LOCATION}" \
"${resource_group_params[@]:+${resource_group_params[@]}}" \
"${AZKUBE_RESOURCE_GROUP_PARAM[@]:+${AZKUBE_RESOURCE_GROUP_PARAM[@]}}" \
--subscription-id="${AZURE_SUBSCRIPTION_ID}" \
--auth-method="${AZURE_AUTH_METHOD}" "${auth_params[@]:+${auth_params[@]}}" \
--auth-method="${AZURE_AUTH_METHOD}" "${AZKUBE_AUTH_PARAMS[@]:+${AZKUBE_AUTH_PARAMS[@]}}" \
--master-size="${AZURE_MASTER_SIZE}" \
--node-size="${AZURE_NODE_SIZE}" \
--node-count="${NUM_NODES}" \
@ -226,6 +247,8 @@ function kube-up {
kubectl config set-context "${AZURE_DEPLOY_ID}" --cluster="${AZURE_DEPLOY_ID}" --user="${AZURE_DEPLOY_ID}_user"
kubectl config use-context "${AZURE_DEPLOY_ID}"
deploy-kube-system
enddate="$(date +%s)"
duration="$(( (startdate - enddate) ))"
@ -258,11 +281,11 @@ function kube-down {
docker run -it \
--user "$(id -u)" \
-v "$HOME/.azkube:/.azkube" -v "/tmp:/tmp" \
"${docker_params[@]:+${docker_params[@]}}" \
colemickens/azkube:v0.0.2 /opt/azkube/azkube destroy \
"${AZKUBE_DOCKER_PARAMS[@]:+${AZKUBE_DOCKER_PARAMS[@]}}" \
"colemickens/azkube:${AZKUBE_VERSION}" /opt/azkube/azkube destroy \
--deployment-name="${AZURE_DEPLOY_ID}" \
--subscription-id="${AZURE_SUBSCRIPTION_ID}" \
--auth-method="${AZURE_AUTH_METHOD}" \
--auth-method="${AZURE_AUTH_METHOD}" "${AZKUBE_AUTH_PARAMS[@]:+${AZKUBE_AUTH_PARAMS[@]}}" \
"${destroy_params[@]:+${destroy_params[@]}}" \
"${AZURE_AZKUBE_ARGS[@]:+${AZURE_AZKUBE_ARGS[@]}}"
}