From 39acd0967d539a51a4c59c4faa553bfd4cd17130 Mon Sep 17 00:00:00 2001 From: Gage Hugo Date: Tue, 12 May 2020 16:07:09 -0500 Subject: [PATCH] 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 --- .../developer/kubernetes-and-common-setup.rst | 61 ++++++++++++++++--- .../requirements-and-host-config.rst | 51 ++++++++++++++-- 2 files changed, 99 insertions(+), 13 deletions(-) diff --git a/doc/source/install/developer/kubernetes-and-common-setup.rst b/doc/source/install/developer/kubernetes-and-common-setup.rst index 722ba825bc..03b7b2a0e8 100644 --- a/doc/source/install/developer/kubernetes-and-common-setup.rst +++ b/doc/source/install/developer/kubernetes-and-common-setup.rst @@ -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>`. diff --git a/doc/source/install/developer/requirements-and-host-config.rst b/doc/source/install/developer/requirements-and-host-config.rst index 4945272439..59e1492e06 100644 --- a/doc/source/install/developer/requirements-and-host-config.rst +++ b/doc/source/install/developer/requirements-and-host-config.rst @@ -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.