0c36b4354d
This PS Moves OpenStack-Helm to Helm version 2.5.0. Change-Id: I79da76875a44a5fb7ff55f8c9a9d114ca5f9c186
103 lines
2.7 KiB
ReStructuredText
103 lines
2.7 KiB
ReStructuredText
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.5
|
|
HELM_VERSION=v2.5.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.5
|
|
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.5
|
|
export KUBE_VERSION=v1.6.5
|
|
./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
|