Files
openstack-helm/tools/kubeadm-aio
Michał Dulko cc243499ec Update remaining markdown docs to RST
There were few remaining README.md files. This commit converts them to
RST.

Change-Id: Ia0be0012fff33b9be5c9db3febc1e45a076701ec
2017-05-22 10:56:51 +02:00
..
2017-05-02 02:14:45 -05:00
2017-05-15 16:01:00 -05:00

Kubeadm AIO Container
=====================

This container builds a small AIO Kubeadm based Kubernetes deployment
for Development and Gating use.

Instructions
------------

OS Specific Host setup:
~~~~~~~~~~~~~~~~~~~~~~~

Ubuntu:
^^^^^^^

From a freshly provisioned Ubuntu 16.04 LTS host run:

.. code:: bash

    sudo apt-get update -y
    sudo apt-get install -y \
            docker.io \
            nfs-common \
            git \
            make

OS Independent Host setup:
~~~~~~~~~~~~~~~~~~~~~~~~~~

You should install the ``kubectl`` and ``helm`` binaries:

.. code:: bash

    KUBE_VERSION=v1.6.0
    HELM_VERSION=v2.3.0

    TMP_DIR=$(mktemp -d)
    curl -sSL https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl -o ${TMP_DIR}/kubectl
    chmod +x ${TMP_DIR}/kubectl
    sudo mv ${TMP_DIR}/kubectl /usr/local/bin/kubectl
    curl -sSL https://storage.googleapis.com/kubernetes-helm/helm-${HELM_VERSION}-linux-amd64.tar.gz | tar -zxv --strip-components=1 -C ${TMP_DIR}
    sudo mv ${TMP_DIR}/helm /usr/local/bin/helm
    rm -rf ${TMP_DIR}

And clone the OpenStack-Helm repo:

.. code:: bash

    git clone https://git.openstack.org/openstack/openstack-helm

Build the AIO environment (optional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A known good image is published to dockerhub on a fairly regular basis, but if
you wish to build your own image, from the root directory of the OpenStack-Helm
repo run:

.. code:: bash

    export KUBEADM_IMAGE=openstackhelm/kubeadm-aio:v1.6
    sudo docker build --pull -t ${KUBEADM_IMAGE} tools/kubeadm-aio

Deploy the AIO environment
~~~~~~~~~~~~~~~~~~~~~~~~~~

To launch the environment then run:

.. code:: bash

    export KUBEADM_IMAGE=openstackhelm/kubeadm-aio:v1.6
    export KUBE_VERSION=v1.6.2
    ./tools/kubeadm-aio/kubeadm-aio-launcher.sh
    export KUBECONFIG=${HOME}/.kubeadm-aio/admin.conf

One this has run, you should hopefully have a Kubernetes single node
environment running, with Helm, Calico, a NFS PVC provisioner and
appropriate RBAC rules and node labels to get developing.

If you wish to use this environment at the primary Kubernetes
environment on your host you may run the following, but note that this
will wipe any previous client configuration you may have.

.. code:: bash

    mkdir -p  ${HOME}/.kube
    cat ${HOME}/.kubeadm-aio/admin.conf > ${HOME}/.kube/config

If you wish to create dummy network devices for Neutron to manage there
is a helper script that can set them up for you:

.. code:: bash

    sudo docker exec kubelet /usr/bin/openstack-helm-aio-network-prep

Logs
~~~~

You can get the logs from your ``kubeadm-aio`` container by running:

.. code:: bash

    sudo docker logs -f kubeadm-aio