Add a binary and scripts for running a local kubernetes cluster.
This commit is contained in:
@@ -22,7 +22,7 @@ source $(dirname $0)/config-go.sh
|
||||
|
||||
cd "${KUBE_TARGET}"
|
||||
|
||||
BINARIES="proxy integration apiserver controller-manager kubelet cloudcfg"
|
||||
BINARIES="proxy integration apiserver controller-manager kubelet cloudcfg localkube"
|
||||
|
||||
for b in $BINARIES; do
|
||||
echo "+++ Building ${b}"
|
||||
|
27
hack/localcfg.sh
Executable file
27
hack/localcfg.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/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.
|
||||
|
||||
# This file is exactly like cloudcfg.sh, but it talks to a local master
|
||||
# (which you're assumed to be running with localkube.sh).
|
||||
|
||||
CLOUDCFG=$(dirname $0)/../output/go/cloudcfg
|
||||
if [ ! -x $CLOUDCFG ]; then
|
||||
echo "Could not find cloudcfg binary. Run hack/build-go.sh to build it."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 8080 is the default port for the master
|
||||
$CLOUDCFG -h https://localhost:8080 $@
|
50
hack/localkube.sh
Executable file
50
hack/localkube.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/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.
|
||||
|
||||
# This command builds and runs a local kubernetes cluster.
|
||||
|
||||
if [ "$(which etcd)" == "" ]; then
|
||||
echo "etcd must be in your PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Stop right away if the build fails
|
||||
set -e
|
||||
|
||||
# Only build what we need
|
||||
(
|
||||
source $(dirname $0)/config-go.sh
|
||||
cd "${KUBE_TARGET}"
|
||||
BINARIES="cloudcfg localkube"
|
||||
for b in $BINARIES; do
|
||||
echo "+++ Building ${b}"
|
||||
go build "${KUBE_GO_PACKAGE}"/cmd/${b}
|
||||
done
|
||||
)
|
||||
|
||||
echo "Starting etcd"
|
||||
|
||||
ETCD_DIR=$(mktemp -d -t kube-integration.XXXXXX)
|
||||
trap "rm -rf ${ETCD_DIR}" EXIT
|
||||
|
||||
etcd -name test -data-dir ${ETCD_DIR} > /tmp/etcd.log &
|
||||
ETCD_PID=$!
|
||||
|
||||
sleep 5
|
||||
|
||||
$(dirname $0)/../output/go/localkube
|
||||
|
||||
kill $ETCD_PID
|
Reference in New Issue
Block a user