[Federation] Do not build separate binaries for federation control plane components, hyperkube should be sufficient.

This commit is contained in:
Madhusudan.C.S 2016-07-25 18:36:09 -07:00
parent ed763b8034
commit 5a3a84968b
6 changed files with 14 additions and 19 deletions

View File

@ -97,8 +97,6 @@ kube::build::get_docker_wrapped_binaries() {
kube-controller-manager,busybox
kube-scheduler,busybox
kube-proxy,gcr.io/google_containers/debian-iptables-amd64:v3
federation-apiserver,busybox
federation-controller-manager,busybox
);;
"arm")
local targets=(
@ -106,8 +104,6 @@ kube::build::get_docker_wrapped_binaries() {
kube-controller-manager,armel/busybox
kube-scheduler,armel/busybox
kube-proxy,gcr.io/google_containers/debian-iptables-arm:v3
federation-apiserver,armel/busybox
federation-controller-manager,armel/busybox
);;
"arm64")
local targets=(
@ -115,8 +111,6 @@ kube::build::get_docker_wrapped_binaries() {
kube-controller-manager,aarch64/busybox
kube-scheduler,aarch64/busybox
kube-proxy,gcr.io/google_containers/debian-iptables-arm64:v3
federation-apiserver,aarch64/busybox
federation-controller-manager,aarch64/busybox
);;
"ppc64le")
local targets=(
@ -124,8 +118,6 @@ kube::build::get_docker_wrapped_binaries() {
kube-controller-manager,ppc64le/busybox
kube-scheduler,ppc64le/busybox
kube-proxy,gcr.io/google_containers/debian-iptables-ppc64le:v3
federation-apiserver,ppc64le/busybox
federation-controller-manager,ppc64le/busybox
);;
esac
@ -1550,8 +1542,6 @@ function kube::release::docker::release() {
"kube-scheduler"
"kube-proxy"
"hyperkube"
"federation-apiserver"
"federation-controller-manager"
)
local docker_push_cmd=("${DOCKER[@]}")

View File

@ -52,6 +52,7 @@ KUBE_PLATFORM=${KUBE_PLATFORM:-linux}
KUBE_ARCH=${KUBE_ARCH:-amd64}
KUBE_BUILD_STAGE=${KUBE_BUILD_STAGE:-release-stage}
source "${KUBE_ROOT}/build/common.sh"
source "${KUBE_ROOT}/cluster/common.sh"
source "${KUBE_ROOT}/hack/lib/util.sh"
@ -66,11 +67,11 @@ function create-federation-api-objects {
(
: "${FEDERATION_PUSH_REPO_BASE?Must set FEDERATION_PUSH_REPO_BASE env var}"
export FEDERATION_APISERVER_DEPLOYMENT_NAME="federation-apiserver"
export FEDERATION_APISERVER_IMAGE_REPO="${FEDERATION_PUSH_REPO_BASE}/federation-apiserver"
export FEDERATION_APISERVER_IMAGE_REPO="${FEDERATION_PUSH_REPO_BASE}/hyperkube"
export FEDERATION_APISERVER_IMAGE_TAG="${FEDERATION_IMAGE_TAG:-$(cat ${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin/federation-apiserver.docker_tag)}"
export FEDERATION_CONTROLLER_MANAGER_DEPLOYMENT_NAME="federation-controller-manager"
export FEDERATION_CONTROLLER_MANAGER_IMAGE_REPO="${FEDERATION_PUSH_REPO_BASE}/federation-controller-manager"
export FEDERATION_CONTROLLER_MANAGER_IMAGE_REPO="${FEDERATION_PUSH_REPO_BASE}/hyperkube"
export FEDERATION_CONTROLLER_MANAGER_IMAGE_TAG="${FEDERATION_IMAGE_TAG:-$(cat ${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin/federation-controller-manager.docker_tag)}"
if [[ -z "${FEDERATION_DNS_PROVIDER:-}" ]]; then
@ -229,7 +230,7 @@ function create-federation-api-objects {
# FEDERATION_IMAGE_TAG: push all federated images with this tag. Used for ci testing
function push-federation-images {
: "${FEDERATION_PUSH_REPO_BASE?Must set FEDERATION_PUSH_REPO_BASE env var}"
local FEDERATION_BINARIES=${FEDERATION_BINARIES:-"federation-apiserver federation-controller-manager"}
local FEDERATION_BINARIES=${FEDERATION_BINARIES:-"hyperkube"}
local imageFolder="${KUBE_ROOT}/_output/${KUBE_BUILD_STAGE}/server/${KUBE_PLATFORM}-${KUBE_ARCH}/kubernetes/server/bin"

View File

@ -17,7 +17,8 @@ spec:
- name: apiserver
image: {{.FEDERATION_APISERVER_IMAGE_REPO}}:{{.FEDERATION_APISERVER_IMAGE_TAG}}
command:
- /usr/local/bin/federation-apiserver
- /usr/local/bin/hyperkube
- federation-apiserver
- --bind-address=0.0.0.0
- --etcd-servers=http://localhost:2379
- --service-cluster-ip-range={{.FEDERATION_SERVICE_CIDR}}

View File

@ -25,7 +25,8 @@ spec:
mountPath: /etc/ssl/certs
image: {{.FEDERATION_CONTROLLER_MANAGER_IMAGE_REPO}}:{{.FEDERATION_CONTROLLER_MANAGER_IMAGE_TAG}}
command:
- /usr/local/bin/federation-controller-manager
- /usr/local/bin/hyperkube
- federation-controller-manager
- --master=https://{{.FEDERATION_APISERVER_DEPLOYMENT_NAME}}:443
- --dns-provider={{.FEDERATION_DNS_PROVIDER}}
- --dns-provider-config={{.FEDERATION_DNS_PROVIDER_CONFIG}}

View File

@ -37,8 +37,6 @@ kube::golang::server_targets() {
cmd/kubelet
cmd/kubemark
cmd/hyperkube
federation/cmd/federation-apiserver
federation/cmd/federation-controller-manager
plugin/cmd/kube-scheduler
)
if [ -n "${KUBERNETES_CONTRIB:-}" ]; then
@ -169,8 +167,7 @@ readonly KUBE_STATIC_LIBRARIES=(
kube-scheduler
kube-proxy
kubectl
federation-apiserver
federation-controller-manager
hyperkube
)
kube::golang::is_statically_linked_library() {

View File

@ -197,8 +197,13 @@ kube::util::gen-docs() {
"${genkubedocs}" "${dest}/docs/admin/" "kube-proxy"
"${genkubedocs}" "${dest}/docs/admin/" "kube-scheduler"
"${genkubedocs}" "${dest}/docs/admin/" "kubelet"
# We don't really need federation-apiserver and federation-controller-manager
# binaries to generate the docs. We just pass their names to decide which docs
# to generate. The actual binary for running federation is hyperkube.
"${genfeddocs}" "${dest}/docs/admin/" "federation-apiserver"
"${genfeddocs}" "${dest}/docs/admin/" "federation-controller-manager"
mkdir -p "${dest}/docs/man/man1/"
"${genman}" "${dest}/docs/man/man1/"
mkdir -p "${dest}/docs/yaml/kubectl/"