openstack-helm/doc/source/install/developer/kubernetes-and-common-setup.rst
Jiří Suchomel d893eadfbc Merge component, developer and multinode ingress deployment scripts
For simplification of deployment and maintenance, reduce the number
of scripts that do usually the same.
The important part is that when user wants to do multinode deployment,
OSH_DEPLOY_MULTINODE variable must be set before executing the script.

For now multinone script still stays, only to invoke the common one,
but in future it would be better to remove multinode scripts completely
and let user call the common script with the right argument.

Change-Id: I4dca159827581cbe8d6ded3be85e732acbf60ed1
2019-10-07 16:11:31 +02:00

91 lines
2.9 KiB
ReStructuredText

===========================
Kubernetes and Common Setup
===========================
Clone the OpenStack-Helm Repos
------------------------------
Once the host has been configured the repos containing the OpenStack-Helm charts
should be cloned:
.. code-block:: shell
#!/bin/bash
set -xe
git clone https://opendev.org/openstack/openstack-helm-infra.git
git clone https://opendev.org/openstack/openstack-helm.git
.. warning::
This installation, by default will use Google DNS servers, 8.8.8.8 or 8.8.4.4
and updates ``resolv.conf``. These DNS nameserver entries can be changed by
updating file ``openstack-helm-infra/tools/images/kubeadm-aio/assets/opt/playbooks/vars.yaml``
under section ``external_dns_nameservers``.
Deploy Kubernetes & Helm
------------------------
You may now deploy kubernetes, and helm onto your machine, first move into the
``openstack-helm`` directory and then run the following:
.. literalinclude:: ../../../../tools/deployment/developer/common/010-deploy-k8s.sh
:language: shell
:lines: 1,17-
Alternatively, this step can be performed by running the script directly:
.. code-block:: shell
./tools/deployment/developer/common/010-deploy-k8s.sh
This command will deploy a single node KubeADM administered cluster. This will
use the parameters in ``${OSH_INFRA_PATH}/playbooks/vars.yaml`` to control the
deployment, which can be over-ridden by adding entries to
``${OSH_INFRA_PATH}/tools/gate/devel/local-vars.yaml``.
Helm Chart Installation
=======================
Using the Helm packages previously pushed to the local Helm repository, run the
following commands to instruct tiller to create an instance of the given chart.
During installation, the helm client will print useful information about
resources created, the state of the Helm releases, and whether any additional
configuration steps are necessary.
Install OpenStack-Helm
----------------------
.. note:: The following commands all assume that they are run from the
``openstack-helm`` directory and the repos have been cloned as above.
Setup Clients on the host and assemble the charts
=================================================
The OpenStack clients and Kubernetes RBAC rules, along with assembly of the
charts can be performed by running the following commands:
.. literalinclude:: ../../../../tools/deployment/developer/common/020-setup-client.sh
:language: shell
:lines: 1,17-
Alternatively, this step can be performed by running the script directly:
.. code-block:: shell
./tools/deployment/developer/common/020-setup-client.sh
Deploy the ingress controller
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. literalinclude:: ../../../../tools/deployment/component/common/ingress.sh
:language: shell
:lines: 1,17-
Alternatively, this step can be performed by running the script directly:
.. code-block:: shell
./tools/deployment/developer/component/common/ingress.sh