Basic HA kubernetes deployment (#7)
* remove old files * sketch of non-bootkube genesis * add basic chroot/bootstrap script * cleanup kubectl/kubelet fetching * fix cni bin asset path * add non-pod asset loader * add example ca * refactor key gen/distribution * flannel up on genesis * refactor some code toward join * WIP: last commit working on "self-hosted, helm-managed" * first pass at consolidating config for vanilla deploy * refactor cli a bit * use provided cluster ca * separate genesis and join scripts * add basic etcd joining * actually run the proxy everywhere * update readme * enable kubelet service * add pki most places * use consistent sa keypair * use quay.io/attcomdev/promenade * fix typo in n3 * tls everywhere in kubernetes * tls for etcd * remove currently unused files
This commit is contained in:
committed by
Alan Meadows
parent
41ceee7e19
commit
fce98459a6
59
Dockerfile
Normal file
59
Dockerfile
Normal file
@@ -0,0 +1,59 @@
|
||||
# Copyright 2017 The Promenade Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
FROM python:3.6
|
||||
|
||||
ENV CNI_VERSION=v0.5.2 \
|
||||
HELM_VERSION=v2.4.2 \
|
||||
KUBECTL_VERSION=v1.6.2 \
|
||||
KUBELET_VERSION=v1.6.2
|
||||
|
||||
VOLUME /etc/promenade
|
||||
VOLUME /target
|
||||
|
||||
RUN mkdir /promenade
|
||||
WORKDIR /promenade
|
||||
|
||||
RUN set -ex \
|
||||
&& export BIN_DIR=/assets/usr/local/bin \
|
||||
&& mkdir -p $BIN_DIR \
|
||||
&& curl -sLo $BIN_DIR/kubelet http://storage.googleapis.com/kubernetes-release/release/$KUBELET_VERSION/bin/linux/amd64/kubelet \
|
||||
&& curl -sLo $BIN_DIR/kubectl http://storage.googleapis.com/kubernetes-release/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl \
|
||||
&& chmod 555 $BIN_DIR/kubelet \
|
||||
&& chmod 555 $BIN_DIR/kubectl \
|
||||
&& mkdir -p /assets/opt/cni/bin \
|
||||
&& curl -sL https://github.com/containernetworking/cni/releases/download/$CNI_VERSION/cni-amd64-$CNI_VERSION.tgz | tar -zxv -C /assets/opt/cni/bin/ \
|
||||
&& curl -sL https://storage.googleapis.com/kubernetes-helm/helm-${HELM_VERSION}-linux-amd64.tar.gz | tar -zxv -C /tmp linux-amd64/helm \
|
||||
&& mv /tmp/linux-amd64/helm $BIN_DIR/helm \
|
||||
&& chmod 555 $BIN_DIR/helm
|
||||
|
||||
RUN set -ex \
|
||||
&& apt-get update -qq \
|
||||
&& apt-get install --no-install-recommends -y \
|
||||
libyaml-dev \
|
||||
openssl \
|
||||
rsync \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN set -ex \
|
||||
&& curl -sLo /usr/local/bin/cfssl https://pkg.cfssl.org/R1.1/cfssl_linux-amd64 \
|
||||
&& chmod 555 /usr/local/bin/cfssl \
|
||||
&& curl -sLo /usr/local/bin/cfssljson https://pkg.cfssl.org/R1.1/cfssljson_linux-amd64 \
|
||||
&& chmod 555 /usr/local/bin/cfssljson
|
||||
|
||||
COPY requirements-frozen.txt /promenade
|
||||
RUN pip install --no-cache-dir -r requirements-frozen.txt
|
||||
|
||||
COPY . /promenade
|
||||
RUN pip install -e /promenade
|
||||
Reference in New Issue
Block a user