From d0f84b491cc4eb3950d04c077ae9f0aafb623918 Mon Sep 17 00:00:00 2001 From: Paul Bourke Date: Wed, 22 Feb 2017 12:04:11 +0000 Subject: Allow full customisation of kube image binaries The location of the binaries in these images can be overridden by setting ENV in the header blocks, but if an operator wants to use a different install method all together (e.g. rpm), these blocks will allow that. Also import the macros in kube-base to allow their use in overrides. Change-Id: I3e52e315f0103d8a1c95d4489fa3841900fdff75 --- docker/kube/kube-apiserver-amd64/Dockerfile.j2 | 2 ++ docker/kube/kube-base/Dockerfile.j2 | 2 ++ docker/kube/kube-controller-manager-amd64/Dockerfile.j2 | 2 ++ docker/kube/kube-discovery-amd64/Dockerfile.j2 | 2 ++ docker/kube/kube-proxy-amd64/Dockerfile.j2 | 2 ++ docker/kube/kube-scheduler-amd64/Dockerfile.j2 | 2 ++ 6 files changed, 12 insertions(+) diff --git a/docker/kube/kube-apiserver-amd64/Dockerfile.j2 b/docker/kube/kube-apiserver-amd64/Dockerfile.j2 index ab23dcfa2..28e61aea6 100644 --- a/docker/kube/kube-apiserver-amd64/Dockerfile.j2 +++ b/docker/kube/kube-apiserver-amd64/Dockerfile.j2 @@ -5,9 +5,11 @@ ENV KUBERNETES_COMPONENT=kube-apiserver {% block kube_apiserver_amd64_header %}{% endblock %} +{% block kube_apiserver_amd64_install %} RUN true \ && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ && chmod +x /usr/bin/${KUBERNETES_COMPONENT} +{% endblock %} # Clear any customisation by Kolla to entrypoint & command ENTRYPOINT [] diff --git a/docker/kube/kube-base/Dockerfile.j2 b/docker/kube/kube-base/Dockerfile.j2 index be5a40c0c..21adfecdc 100644 --- a/docker/kube/kube-base/Dockerfile.j2 +++ b/docker/kube/kube-base/Dockerfile.j2 @@ -7,4 +7,6 @@ ENV KUBERNETES_DOWNLOAD_ROOT=https://storage.googleapis.com/kubernetes-release/r {% block kube_base_header %}{% endblock %} +{% import "macros.j2" as macros with context %} + {% block kube_base_footer %}{% endblock %} diff --git a/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 b/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 index 252324426..22792b1e3 100644 --- a/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 +++ b/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 @@ -18,9 +18,11 @@ ENV KUBERNETES_COMPONENT=kube-controller-manager {% endif %} {{ macros.install_packages(ceph_support_packages | customizable("packages")) }} +{% block kube_controller_manager_amd64_install %} RUN true \ && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ && chmod +x /usr/bin/${KUBERNETES_COMPONENT} +{% endblock %} # Clear any customisation by Kolla to entrypoint & command ENTRYPOINT [] diff --git a/docker/kube/kube-discovery-amd64/Dockerfile.j2 b/docker/kube/kube-discovery-amd64/Dockerfile.j2 index 6816891dc..ca62cefef 100644 --- a/docker/kube/kube-discovery-amd64/Dockerfile.j2 +++ b/docker/kube/kube-discovery-amd64/Dockerfile.j2 @@ -5,10 +5,12 @@ ENV KUBERNETES_COMPONENT=kube-discovery {% block kube_discovery_amd64_header %}{% endblock %} +{% block kube_discovery_amd64_install %} # To match upstream we load the binary to /usr/local/bin RUN true \ && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/local/bin/${KUBERNETES_COMPONENT} \ && chmod +x /usr/local/bin/${KUBERNETES_COMPONENT} +{% endblock %} # Clear any customisation by Kolla to entrypoint & command ENTRYPOINT [] diff --git a/docker/kube/kube-proxy-amd64/Dockerfile.j2 b/docker/kube/kube-proxy-amd64/Dockerfile.j2 index 898d6705a..0bfde90fa 100644 --- a/docker/kube/kube-proxy-amd64/Dockerfile.j2 +++ b/docker/kube/kube-proxy-amd64/Dockerfile.j2 @@ -5,9 +5,11 @@ ENV KUBERNETES_COMPONENT=kube-proxy {% block kube_proxy_amd64_header %}{% endblock %} +{% block kube_proxy_amd64_install %} RUN true \ && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ && chmod +x /usr/bin/${KUBERNETES_COMPONENT} +{% endblock %} # Clear any customisation by Kolla to entrypoint & command ENTRYPOINT [] diff --git a/docker/kube/kube-scheduler-amd64/Dockerfile.j2 b/docker/kube/kube-scheduler-amd64/Dockerfile.j2 index 8a6043a50..7c32865be 100644 --- a/docker/kube/kube-scheduler-amd64/Dockerfile.j2 +++ b/docker/kube/kube-scheduler-amd64/Dockerfile.j2 @@ -5,9 +5,11 @@ ENV KUBERNETES_COMPONENT=kube-scheduler {% block kube_scheduler_amd64_header %}{% endblock %} +{% block kube_scheduler_amd64_install %} RUN true \ && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ && chmod +x /usr/bin/${KUBERNETES_COMPONENT} +{% endblock %} # Clear any customisation by Kolla to entrypoint & command ENTRYPOINT [] -- cgit v1.2.3