1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/bash
- # Copyright 2014 The Kubernetes Authors.
- #
- # 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.
- #
- # If the full release name (gs://<bucket>/<release>) is passed in then we take
- # that directly. If not then we assume we are doing development stuff and take
- # the defaults in the release config.
- set -o errexit
- set -o nounset
- set -o pipefail
- KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
- if [ -f "${KUBE_ROOT}/cluster/env.sh" ]; then
- source "${KUBE_ROOT}/cluster/env.sh"
- fi
- source "${KUBE_ROOT}/cluster/kube-util.sh"
- if [ -z "${ZONE-}" ]; then
- echo "... Starting cluster using provider: ${KUBERNETES_PROVIDER}" >&2
- else
- echo "... Starting cluster in ${ZONE} using provider ${KUBERNETES_PROVIDER}" >&2
- fi
- echo "... calling verify-prereqs" >&2
- verify-prereqs
- if [[ "${KUBE_STAGE_IMAGES:-}" == "true" ]]; then
- echo "... staging images" >&2
- stage-images
- fi
- echo "... calling kube-up" >&2
- kube-up
- echo "... calling validate-cluster" >&2
- # Override errexit
- (validate-cluster) && validate_result="$?" || validate_result="$?"
- # We have two different failure modes from validate cluster:
- # - 1: fatal error - cluster won't be working correctly
- # - 2: weak error - something went wrong, but cluster probably will be working correctly
- # We just print an error message in case 2).
- if [[ "${validate_result}" == "1" ]]; then
- exit 1
- elif [[ "${validate_result}" == "2" ]]; then
- echo "...ignoring non-fatal errors in validate-cluster" >&2
- fi
- if [[ "${ENABLE_PROXY:-}" == "true" ]]; then
- . /tmp/kube-proxy-env
- echo ""
- echo "*** Please run the following to add the kube-apiserver endpoint to your proxy white-list ***"
- cat /tmp/kube-proxy-env
- echo "*** ***"
- echo ""
- fi
- echo -e "Done, listing cluster services:\n" >&2
- "${KUBE_ROOT}/cluster/kubectl.sh" cluster-info
- echo
- exit 0
|