Browse Source

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 5a530be776
so backward compatibility is broken ;(

Change-Id: I44160dfb1d151e97d473e6c13194e043657094a8
Partially-Implements: blueprint multiarch-and-arm64-containers
changes/45/464045/5
Marcin Juszkiewicz 4 years ago
committed by Marcin Juszkiewicz
parent
commit
ad4784b54b
  1. 6
      docker/kube/kube-apiserver/Dockerfile.j2
  2. 12
      docker/kube/kube-base/Dockerfile.j2
  3. 6
      docker/kube/kube-controller-manager/Dockerfile.j2
  4. 6
      docker/kube/kube-discovery/Dockerfile.j2
  5. 6
      docker/kube/kube-proxy/Dockerfile.j2
  6. 6
      docker/kube/kube-scheduler/Dockerfile.j2
  7. 11
      releasenotes/notes/kubernetes-for-arm64-b149983c7e11ab60.yaml

6
docker/kube/kube-apiserver-amd64/Dockerfile.j2 → docker/kube/kube-apiserver/Dockerfile.j2

@ -3,9 +3,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
ENV KUBERNETES_COMPONENT=kube-apiserver
{% block kube_apiserver_amd64_header %}{% endblock %}
{% block kube_apiserver_header %}{% endblock %}
{% block kube_apiserver_amd64_install %}
{% block kube_apiserver_install %}
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/bin/${KUBERNETES_COMPONENT}
@ -15,5 +15,5 @@ RUN true \
ENTRYPOINT []
CMD []
{% block kube_apiserver_amd64_footer %}{% endblock %}
{% block kube_apiserver_footer %}{% endblock %}
{% block footer %}{% endblock %}

12
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 %}

6
docker/kube/kube-controller-manager-amd64/Dockerfile.j2 → docker/kube/kube-controller-manager/Dockerfile.j2

@ -3,7 +3,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
ENV KUBERNETES_COMPONENT=kube-controller-manager
{% block kube_controller_manager_amd64_header %}{% endblock %}
{% block kube_controller_manager_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
@ -18,7 +18,7 @@ ENV KUBERNETES_COMPONENT=kube-controller-manager
{% endif %}
{{ macros.install_packages(ceph_support_packages | customizable("packages")) }}
{% block kube_controller_manager_amd64_install %}
{% 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}
@ -28,5 +28,5 @@ RUN true \
ENTRYPOINT []
CMD []
{% block kube_controller_manager_amd64_footer %}{% endblock %}
{% block kube_controller_manager_footer %}{% endblock %}
{% block footer %}{% endblock %}

6
docker/kube/kube-discovery-amd64/Dockerfile.j2 → docker/kube/kube-discovery/Dockerfile.j2

@ -3,9 +3,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
ENV KUBERNETES_COMPONENT=kube-discovery
{% block kube_discovery_amd64_header %}{% endblock %}
{% block kube_discovery_header %}{% endblock %}
{% block kube_discovery_amd64_install %}
{% 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} \
@ -16,5 +16,5 @@ RUN true \
ENTRYPOINT []
CMD []
{% block kube_discovery_amd64_footer %}{% endblock %}
{% block kube_discovery_footer %}{% endblock %}
{% block footer %}{% endblock %}

6
docker/kube/kube-proxy-amd64/Dockerfile.j2 → docker/kube/kube-proxy/Dockerfile.j2

@ -3,9 +3,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
ENV KUBERNETES_COMPONENT=kube-proxy
{% block kube_proxy_amd64_header %}{% endblock %}
{% block kube_proxy_header %}{% endblock %}
{% block kube_proxy_amd64_install %}
{% block kube_proxy_install %}
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/bin/${KUBERNETES_COMPONENT}
@ -15,5 +15,5 @@ RUN true \
ENTRYPOINT []
CMD []
{% block kube_proxy_amd64_footer %}{% endblock %}
{% block kube_proxy_footer %}{% endblock %}
{% block footer %}{% endblock %}

6
docker/kube/kube-scheduler-amd64/Dockerfile.j2 → docker/kube/kube-scheduler/Dockerfile.j2

@ -3,9 +3,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
ENV KUBERNETES_COMPONENT=kube-scheduler
{% block kube_scheduler_amd64_header %}{% endblock %}
{% block kube_scheduler_header %}{% endblock %}
{% block kube_scheduler_amd64_install %}
{% block kube_scheduler_install %}
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/bin/${KUBERNETES_COMPONENT}
@ -15,5 +15,5 @@ RUN true \
ENTRYPOINT []
CMD []
{% block kube_scheduler_amd64_footer %}{% endblock %}
{% block kube_scheduler_footer %}{% endblock %}
{% block footer %}{% endblock %}

11
releasenotes/notes/kubernetes-for-arm64-b149983c7e11ab60.yaml

@ -0,0 +1,11 @@
---
features:
- |
Kubernetes images can be now built also for aarch64 architecture.
issues:
- |
Kubernetes images got renamed - "_amd64" suffix was dropped.
upgrade:
- |
Kubernetes images got renamed - "_amd64" suffix was dropped so upgrade path
may need special care.
Loading…
Cancel
Save