diff options
| author | portdirect <pete@port.direct> | 2016-12-18 10:58:37 +0000 |
|---|---|---|
| committer | portdirect <pete@port.direct> | 2016-12-23 12:24:34 +0000 |
| commit | d3565b426e5fdf576f2fe8e8cbf1b03533880787 (patch) | |
| tree | c94350ea56cf508753c85a3b728543f953fbfc27 | |
| parent | 26fb747b0a6ecf63fcb003836d80799779e6b50e (diff) | |
| download | kolla-d3565b426e5fdf576f2fe8e8cbf1b03533880787.tar.gz kolla-d3565b426e5fdf576f2fe8e8cbf1b03533880787.zip | |
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
| -rw-r--r-- | docker/kube/kube-apiserver/Dockerfile.j2 | 12 | ||||
| -rw-r--r-- | docker/kube/kube-base/Dockerfile.j2 | 6 | ||||
| -rw-r--r-- | docker/kube/kube-controller-manager/Dockerfile.j2 | 25 | ||||
| -rw-r--r-- | docker/kube/kube-discovery/Dockerfile.j2 | 13 | ||||
| -rw-r--r-- | docker/kube/kube-proxy/Dockerfile.j2 | 12 | ||||
| -rw-r--r-- | docker/kube/kube-scheduler/Dockerfile.j2 | 12 | ||||
| -rw-r--r-- | releasenotes/notes/add-kubernetes-images-76f5a60e98d09eb7.yaml | 12 |
7 files changed, 92 insertions, 0 deletions
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 [] diff --git a/releasenotes/notes/add-kubernetes-images-76f5a60e98d09eb7.yaml b/releasenotes/notes/add-kubernetes-images-76f5a60e98d09eb7.yaml new file mode 100644 index 000000000..1b25581cc --- /dev/null +++ b/releasenotes/notes/add-kubernetes-images-76f5a60e98d09eb7.yaml @@ -0,0 +1,12 @@ +--- +prelude: | + Kolla-Kubernetes by default uses Ceph for stateful storage. With + Kubernetes 1.5 support was added for Ceph dynamic volume provisioning as + requested by claims made against the API server. The images supplied + by Google do not include the RBD binary that is required to support this + feature. +features: + - Add Kubernetes control pane images with Ceph RBD support. +issues: | + These images will need to be retagged by operators to use with standard + Kubernetes deployment tooling such as kubeadm. |
