From d3565b426e5fdf576f2fe8e8cbf1b03533880787 Mon Sep 17 00:00:00 2001 From: portdirect Date: Sun, 18 Dec 2016 10:58:37 +0000 Subject: Add Kubernetes Images for Kolla-Kubernetes These images are intended to be used with standard Kubernetes deployment tooling. They are included with Kolla to allow operators to chose the OS Base image that is used in their environments, and provides Ceph PV support. Implements: blueprint add-kubernetes-images Change-Id: Ifb84a2b9458d071679e1e55679653d702624d702 --- docker/kube/kube-apiserver/Dockerfile.j2 | 12 +++++++++++ docker/kube/kube-base/Dockerfile.j2 | 6 ++++++ docker/kube/kube-controller-manager/Dockerfile.j2 | 25 +++++++++++++++++++++++ docker/kube/kube-discovery/Dockerfile.j2 | 13 ++++++++++++ docker/kube/kube-proxy/Dockerfile.j2 | 12 +++++++++++ docker/kube/kube-scheduler/Dockerfile.j2 | 12 +++++++++++ 6 files changed, 80 insertions(+) create mode 100644 docker/kube/kube-apiserver/Dockerfile.j2 create mode 100644 docker/kube/kube-base/Dockerfile.j2 create mode 100644 docker/kube/kube-controller-manager/Dockerfile.j2 create mode 100644 docker/kube/kube-discovery/Dockerfile.j2 create mode 100644 docker/kube/kube-proxy/Dockerfile.j2 create mode 100644 docker/kube/kube-scheduler/Dockerfile.j2 (limited to 'docker') diff --git a/docker/kube/kube-apiserver/Dockerfile.j2 b/docker/kube/kube-apiserver/Dockerfile.j2 new file mode 100644 index 000000000..9edd42a5e --- /dev/null +++ b/docker/kube/kube-apiserver/Dockerfile.j2 @@ -0,0 +1,12 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +MAINTAINER {{ maintainer }} + +ENV KUBERNETES_COMPONENT=kube-apiserver + +RUN true \ + && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ + && chmod +x /usr/bin/${KUBERNETES_COMPONENT} + +# Clear any customisation by Kolla to entrypoint & command +ENTRYPOINT [] +CMD [] diff --git a/docker/kube/kube-base/Dockerfile.j2 b/docker/kube/kube-base/Dockerfile.j2 new file mode 100644 index 000000000..db183171b --- /dev/null +++ b/docker/kube/kube-base/Dockerfile.j2 @@ -0,0 +1,6 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +MAINTAINER {{ maintainer }} + +ENV KUBERNETES_VERSION=v1.5.1 + +ENV KUBERNETES_DOWNLOAD_ROOT=https://storage.googleapis.com/kubernetes-release/release/${KUBERNETES_VERSION}/bin/linux/amd64 diff --git a/docker/kube/kube-controller-manager/Dockerfile.j2 b/docker/kube/kube-controller-manager/Dockerfile.j2 new file mode 100644 index 000000000..713778c8e --- /dev/null +++ b/docker/kube/kube-controller-manager/Dockerfile.j2 @@ -0,0 +1,25 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +MAINTAINER {{ maintainer }} + +ENV KUBERNETES_COMPONENT=kube-controller-manager + +{% import "macros.j2" as macros with context %} + +{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set ceph_support_packages = [ + 'ceph-common' + ] %} +{% elif base_distro in ['ubuntu', 'debian'] %} + {% set ceph_support_packages = [ + 'ceph-common' + ] %} +{% endif %} +{{ macros.install_packages(ceph_support_packages | customizable("packages")) }} + +RUN true \ + && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ + && chmod +x /usr/bin/${KUBERNETES_COMPONENT} + +# Clear any customisation by Kolla to entrypoint & command +ENTRYPOINT [] +CMD [] diff --git a/docker/kube/kube-discovery/Dockerfile.j2 b/docker/kube/kube-discovery/Dockerfile.j2 new file mode 100644 index 000000000..37e5d14dc --- /dev/null +++ b/docker/kube/kube-discovery/Dockerfile.j2 @@ -0,0 +1,13 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +MAINTAINER {{ maintainer }} + +ENV KUBERNETES_COMPONENT=kube-discovery + +# 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} + +# Clear any customisation by Kolla to entrypoint & command +ENTRYPOINT [] +CMD [] diff --git a/docker/kube/kube-proxy/Dockerfile.j2 b/docker/kube/kube-proxy/Dockerfile.j2 new file mode 100644 index 000000000..7eafe8fcd --- /dev/null +++ b/docker/kube/kube-proxy/Dockerfile.j2 @@ -0,0 +1,12 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +MAINTAINER {{ maintainer }} + +ENV KUBERNETES_COMPONENT=kube-proxy + +RUN true \ + && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ + && chmod +x /usr/bin/${KUBERNETES_COMPONENT} + +# Clear any customisation by Kolla to entrypoint & command +ENTRYPOINT [] +CMD [] diff --git a/docker/kube/kube-scheduler/Dockerfile.j2 b/docker/kube/kube-scheduler/Dockerfile.j2 new file mode 100644 index 000000000..7009b396f --- /dev/null +++ b/docker/kube/kube-scheduler/Dockerfile.j2 @@ -0,0 +1,12 @@ +FROM {{ namespace }}/{{ image_prefix }}kube-base:{{ tag }} +MAINTAINER {{ maintainer }} + +ENV KUBERNETES_COMPONENT=kube-scheduler + +RUN true \ + && curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \ + && chmod +x /usr/bin/${KUBERNETES_COMPONENT} + +# Clear any customisation by Kolla to entrypoint & command +ENTRYPOINT [] +CMD [] -- cgit v1.2.3