Update OSH Installation Guide

This change updates the requirements-and-host-config guide to include
proxy setup instructions as well as updating the ubuntu version to
include 18.04 as the reference linux flavor.

Also updated kubernetes-and-common-setup to include proxy and dns
configuration steps as well as header cleanup.

Change-Id: Ie075cdb7c32bcba5429abb9168ef7cc9b4845d89
This commit is contained in:
Gage Hugo 2020-05-12 16:07:09 -05:00
parent f45d1c51df
commit 39acd0967d
2 changed files with 99 additions and 13 deletions

View File

@ -2,8 +2,17 @@
Kubernetes and Common Setup
===========================
Install Basic Utilities
^^^^^^^^^^^^^^^^^^^^^^^
To get started with OSH, we will need both ``git`` and ``curl``.
.. code-block:: shell
sudo apt install git curl
Clone the OpenStack-Helm Repos
------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Once the host has been configured the repos containing the OpenStack-Helm charts
should be cloned:
@ -16,15 +25,49 @@ should be cloned:
git clone https://opendev.org/openstack/openstack-helm-infra.git
git clone https://opendev.org/openstack/openstack-helm.git
OSH Proxy & DNS Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. 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``.
.. note::
If you are not deploying OSH behind a proxy, skip this step and
continue with "Deploy Kubernetes & Helm".
In order to deploy OSH behind a proxy, add the following entries to
``openstack-helm-infra/tools/gate/devel/local-vars.yaml``:
.. code-block:: shell
proxy:
http: http://PROXY_URL:PORT
https: https://PROXY_URL:PORT
noproxy: 127.0.0.1,localhost,172.17.0.1,.svc.cluster.local
.. note::
Depending on your specific proxy, https_proxy may be the same as http_proxy.
Refer to your specific proxy documentation.
By default OSH will use Google DNS Server IPs (8.8.8.8, 8.8.4.4) and will
update resolv.conf as a result. If those IPs are blocked by your proxy, running
the OSH scripts will result in the inability to connect to anything on the
network. These DNS nameserver entries can be changed by updating the
external_dns_nameservers entry in the file
``openstack-helm-infra/tools/images/kubeadm-aio/assets/opt/playbooks/vars.yaml``.
.. code-block:: shell
external_dns_nameservers:
- YOUR_PROXY_DNS_IP
- ALT_PROXY_DNS_IP
These values can be retrieved by running:
.. code-block:: shell
systemd-resolve --status
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:
@ -75,7 +118,6 @@ Alternatively, this step can be performed by running the script directly:
./tools/deployment/developer/common/020-setup-client.sh
Deploy the ingress controller
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -88,3 +130,6 @@ Alternatively, this step can be performed by running the script directly:
.. code-block:: shell
./tools/deployment/component/common/ingress.sh
To continue to deploy OpenStack on Kubernetes via OSH, see
:doc:`Deploy NFS<./deploy-with-nfs>` or :doc:`Deploy Ceph<./deploy-with-ceph>`.

View File

@ -6,17 +6,13 @@ Overview
========
Below are some instructions and suggestions to help you get started with a
Kubeadm All-in-One environment on Ubuntu 16.04.
Kubeadm All-in-One environment on Ubuntu 18.04.
Other supported versions of Linux can also be used, with the appropriate changes
to package installation.
Requirements
============
.. warning:: Until the Ubuntu kernel shipped with 16.04 supports CephFS
subvolume mounts by default the `HWE Kernel
<../../troubleshooting/ubuntu-hwe-kernel.html>`__ is required to use CephFS.
System Requirements
-------------------
@ -57,3 +53,48 @@ matches:
.. code-block:: ini
hosts: files dns
Host Proxy & DNS Configuration
------------------------------
.. note::
If you are not deploying OSH behind a proxy, skip this step.
Set your local environment variables to use the proxy information. This
involves adding or setting the following values in ``/etc/environment``:
.. code-block:: shell
export http_proxy="YOUR_PROXY_ADDRESS:PORT"
export https_proxy="YOUR_PROXY_ADDRESS:PORT"
export ftp_proxy="YOUR_PROXY_ADDRESS:PORT"
export no_proxy="localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,172.17.0.1,.svc.cluster.local,$YOUR_ACTUAL_IP"
export HTTP_PROXY="YOUR_PROXY_ADDRESS:PORT"
export HTTPS_PROXY="YOUR_PROXY_ADDRESS:PORT"
export FTP_PROXY="YOUR_PROXY_ADDRESS:PORT"
export NO_PROXY="localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,172.17.0.1,.svc.cluster.local,$YOUR_ACTUAL_IP"
.. note::
Depending on your specific proxy, https_proxy may be the same as http_proxy.
Refer to your specific proxy documentation.
Your changes to `/etc/environment` will not be applied until you source them:
.. code-block:: shell
source /etc/environment
OSH runs updates for local apt packages, so we will need to set the proxy for
apt as well by adding these lines to `/etc/apt/apt.conf`:
.. code-block:: shell
Acquire::http::proxy "YOUR_PROXY_ADDRESS:PORT";
Acquire::https::proxy "YOUR_PROXY_ADDRESS:PORT";
Acquire::ftp::proxy "YOUR_PROXY_ADDRESS:PORT";
.. note::
Depending on your specific proxy, https_proxy may be the same as http_proxy.
Refer to your specific proxy documentation.