From ad4784b54b870e78ea2af382a1449e8235637b57 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Thu, 11 May 2017 18:52:10 +0200 Subject: kubernetes: get it working on AArch64 as well In past I disabled those images on non-x86 because had lot of other things to do. Now it is time to get it running on aarch64 too. Had to revert rename done in 5a530be776c4897523e3419e69d798de0dc1755c so backward compatibility is broken ;( Change-Id: I44160dfb1d151e97d473e6c13194e043657094a8 Partially-Implements: blueprint multiarch-and-arm64-containers --- docker/kube/kube-apiserver-amd64/Dockerfile.j2 | 19 ------------- docker/kube/kube-apiserver/Dockerfile.j2 | 19 +++++++++++++ docker/kube/kube-base/Dockerfile.j2 | 12 ++++---- .../kube-controller-manager-amd64/Dockerfile.j2 | 32 ---------------------- docker/kube/kube-controller-manager/Dockerfile.j2 | 32 ++++++++++++++++++++++ docker/kube/kube-discovery-amd64/Dockerfile.j2 | 20 -------------- docker/kube/kube-discovery/Dockerfile.j2 | 20 ++++++++++++++ docker/kube/kube-proxy-amd64/Dockerfile.j2 | 19 ------------- docker/kube/kube-proxy/Dockerfile.j2 | 19 +++++++++++++ docker/kube/kube-scheduler-amd64/Dockerfile.j2 | 19 ------------- docker/kube/kube-scheduler/Dockerfile.j2 | 19 +++++++++++++ 11 files changed, 116 insertions(+), 114 deletions(-) delete mode 100644 docker/kube/kube-apiserver-amd64/Dockerfile.j2 create mode 100644 docker/kube/kube-apiserver/Dockerfile.j2 delete mode 100644 docker/kube/kube-controller-manager-amd64/Dockerfile.j2 create mode 100644 docker/kube/kube-controller-manager/Dockerfile.j2 delete mode 100644 docker/kube/kube-discovery-amd64/Dockerfile.j2 create mode 100644 docker/kube/kube-discovery/Dockerfile.j2 delete mode 100644 docker/kube/kube-proxy-amd64/Dockerfile.j2 create mode 100644 docker/kube/kube-proxy/Dockerfile.j2 delete mode 100644 docker/kube/kube-scheduler-amd64/Dockerfile.j2 create mode 100644 docker/kube/kube-scheduler/Dockerfile.j2 (limited to 'docker') diff --git a/docker/kube/kube-apiserver-amd64/Dockerfile.j2 b/docker/kube/kube-apiserver-amd64/Dockerfile.j2 deleted file mode 100644 index de522ff66..000000000 --- a/docker/kube/kube-apiserver-amd64/Dockerfile.j2 +++ /dev/null @@ -1,19 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" - -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 [] -CMD [] - -{% block kube_apiserver_amd64_footer %}{% endblock %} -{% block footer %}{% endblock %} diff --git a/docker/kube/kube-apiserver/Dockerfile.j2 b/docker/kube/kube-apiserver/Dockerfile.j2 new file mode 100644 index 000000000..c0918ce40 --- /dev/null +++ b/docker/kube/kube-apiserver/Dockerfile.j2 @@ -0,0 +1,19 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +ENV KUBERNETES_COMPONENT=kube-apiserver + +{% block kube_apiserver_header %}{% endblock %} + +{% block kube_apiserver_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 [] +CMD [] + +{% block kube_apiserver_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/kube/kube-base/Dockerfile.j2 b/docker/kube/kube-base/Dockerfile.j2 index 907bef68e..283e69d43 100644 --- a/docker/kube/kube-base/Dockerfile.j2 +++ b/docker/kube/kube-base/Dockerfile.j2 @@ -3,14 +3,16 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build ENV KUBERNETES_VERSION=v1.5.4 -{% if base_arch != 'x86_64' %} - +{% if base_arch == 'x86_64' %} +ENV KUBE_ARCH=amd64 +{% elif base_arch == 'aarch64' %} +ENV KUBE_ARCH=arm64 +{% else %} RUN echo 'Kubernetes images not yet available for {{ base_arch }}' \ - && /bin/false - +&& /bin/false {% endif %} -ENV KUBERNETES_DOWNLOAD_ROOT=https://storage.googleapis.com/kubernetes-release/release/${KUBERNETES_VERSION}/bin/linux/amd64 +ENV KUBERNETES_DOWNLOAD_ROOT=https://storage.googleapis.com/kubernetes-release/release/${KUBERNETES_VERSION}/bin/linux/${KUBE_ARCH} {% block kube_base_header %}{% endblock %} diff --git a/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 b/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 deleted file mode 100644 index 452a936f4..000000000 --- a/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 +++ /dev/null @@ -1,32 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" - -ENV KUBERNETES_COMPONENT=kube-controller-manager - -{% block kube_controller_manager_amd64_header %}{% endblock %} - -{% import "macros.j2" as macros with context %} - -{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} - {% set ceph_support_packages = [ - 'ceph-common' - ] %} -{% elif base_distro in ['debian', 'ubuntu'] %} - {% set ceph_support_packages = [ - 'ceph-common' - ] %} -{% 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 [] -CMD [] - -{% block kube_controller_manager_amd64_footer %}{% endblock %} -{% block footer %}{% endblock %} diff --git a/docker/kube/kube-controller-manager/Dockerfile.j2 b/docker/kube/kube-controller-manager/Dockerfile.j2 new file mode 100644 index 000000000..6494bd0e8 --- /dev/null +++ b/docker/kube/kube-controller-manager/Dockerfile.j2 @@ -0,0 +1,32 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +ENV KUBERNETES_COMPONENT=kube-controller-manager + +{% block kube_controller_manager_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set ceph_support_packages = [ + 'ceph-common' + ] %} +{% elif base_distro in ['debian', 'ubuntu'] %} + {% set ceph_support_packages = [ + 'ceph-common' + ] %} +{% endif %} +{{ macros.install_packages(ceph_support_packages | customizable("packages")) }} + +{% block kube_controller_manager_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 [] +CMD [] + +{% block kube_controller_manager_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/kube/kube-discovery-amd64/Dockerfile.j2 b/docker/kube/kube-discovery-amd64/Dockerfile.j2 deleted file mode 100644 index b347525c0..000000000 --- a/docker/kube/kube-discovery-amd64/Dockerfile.j2 +++ /dev/null @@ -1,20 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" - -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 [] -CMD [] - -{% block kube_discovery_amd64_footer %}{% endblock %} -{% block footer %}{% endblock %} diff --git a/docker/kube/kube-discovery/Dockerfile.j2 b/docker/kube/kube-discovery/Dockerfile.j2 new file mode 100644 index 000000000..09cf9ecbe --- /dev/null +++ b/docker/kube/kube-discovery/Dockerfile.j2 @@ -0,0 +1,20 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +ENV KUBERNETES_COMPONENT=kube-discovery + +{% block kube_discovery_header %}{% endblock %} + +{% block kube_discovery_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 [] +CMD [] + +{% block kube_discovery_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/kube/kube-proxy-amd64/Dockerfile.j2 b/docker/kube/kube-proxy-amd64/Dockerfile.j2 deleted file mode 100644 index aff253b66..000000000 --- a/docker/kube/kube-proxy-amd64/Dockerfile.j2 +++ /dev/null @@ -1,19 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" - -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 [] -CMD [] - -{% block kube_proxy_amd64_footer %}{% endblock %} -{% block footer %}{% endblock %} diff --git a/docker/kube/kube-proxy/Dockerfile.j2 b/docker/kube/kube-proxy/Dockerfile.j2 new file mode 100644 index 000000000..56532e4a4 --- /dev/null +++ b/docker/kube/kube-proxy/Dockerfile.j2 @@ -0,0 +1,19 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +ENV KUBERNETES_COMPONENT=kube-proxy + +{% block kube_proxy_header %}{% endblock %} + +{% block kube_proxy_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 [] +CMD [] + +{% block kube_proxy_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/kube/kube-scheduler-amd64/Dockerfile.j2 b/docker/kube/kube-scheduler-amd64/Dockerfile.j2 deleted file mode 100644 index d1babfb78..000000000 --- a/docker/kube/kube-scheduler-amd64/Dockerfile.j2 +++ /dev/null @@ -1,19 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" - -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 [] -CMD [] - -{% block kube_scheduler_amd64_footer %}{% endblock %} -{% block footer %}{% endblock %} diff --git a/docker/kube/kube-scheduler/Dockerfile.j2 b/docker/kube/kube-scheduler/Dockerfile.j2 new file mode 100644 index 000000000..8f4adc061 --- /dev/null +++ b/docker/kube/kube-scheduler/Dockerfile.j2 @@ -0,0 +1,19 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +ENV KUBERNETES_COMPONENT=kube-scheduler + +{% block kube_scheduler_header %}{% endblock %} + +{% block kube_scheduler_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 [] +CMD [] + +{% block kube_scheduler_footer %}{% endblock %} +{% block footer %}{% endblock %} -- cgit v1.2.3