diff options
author | Bin Yang <bin.yang@windriver.com> | 2019-06-10 00:50:02 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-06-10 00:50:02 +0000 |
commit | f30199f018ae167df804c23079eb4bcec6c10f34 (patch) | |
tree | 9fea7afccdc9dfb32cf17486f51e8da1fd7b7b02 | |
parent | 047872661b83422149ccf4b46defb5f90f3e7c54 (diff) | |
parent | 540c5b56469b52fdaccee624f582ce1c3e06efe9 (diff) |
Merge changes I798b9dd9,I36b65dd2
* changes:
Remove the requirement to run aio.sh as root
Documentation update for aio.sh CI change
-rw-r--r-- | docs/bare_metal_provisioning.rst | 49 | ||||
-rw-r--r-- | docs/index.rst | 6 | ||||
-rw-r--r-- | docs/kud_architecture.rst (renamed from docs/krd_architecture.rst) | 20 | ||||
-rwxr-xr-x | kud/hosting_providers/baremetal/aio.sh | 7 | ||||
-rwxr-xr-x | kud/hosting_providers/vagrant/installer.sh | 1 |
5 files changed, 29 insertions, 54 deletions
diff --git a/docs/bare_metal_provisioning.rst b/docs/bare_metal_provisioning.rst index 2cb74afe..885ffea3 100644 --- a/docs/bare_metal_provisioning.rst +++ b/docs/bare_metal_provisioning.rst @@ -13,11 +13,11 @@ Bare-Metal Provisioning *********************** -The Kubernetes Reference Deployment, aka KRD, has been designed to be consumed -by Virtual Machines as well as Bare-Metal servers. The *vagrant/aio.sh* +The Kubernetes Deployment, aka KUD, has been designed to be consumed +by Virtual Machines as well as Bare-Metal servers. The *baremetal/aio.sh* script contains the bash instructions for provisioning an All-in-One Kubernetes deployment in a Bare-Metal server. This document lists the Hardware & Software -requirements and walkthrough the instructions that *vagrant/aio.sh* contains. +requirements and walkthrough the instructions that *baremetal/aio.sh* contains. Hardware Requirements ##################### @@ -37,36 +37,28 @@ Software Requirements - Ubuntu Server 16.04 LTS -vagrant/aio.sh -############## +baremetal/aio.sh +################ This bash script provides an automated process for deploying an All-in-One -Kubernetes cluster. Given that the ansible inventory file created by this -script doesn't specify any information about user and password, it's necessary -to execute this script as root user. +Kubernetes cluster. The following two instructions start the provisioning process. .. code-block:: bash $ sudo su - # wget -O - https://git.onap.org/multicloud/k8s/plain/vagrant/aio.sh | bash + # git clone https://git.onap.org/multicloud/k8s/ + # cd k8s/kud/hosting_providers/baremetal/ + # ./aio.sh In overall, this script can be summarized in three general phases: -1. Cloning and configuring the KRD project. +1. Generating Inventory. 2. Enabiling Nested-Virtualization. -3. Deploying KRD services. +3. Deploying KUD services. -**Cloning and configuring the KRD project** - -KRD requires multiple files(bash scripts and ansible playbooks) to operate. -Therefore, it's necessary to clone the *ONAP multicloud/k8s* project to get -access to the *vagrant* folder. - -.. code-block:: bash - - git clone https://git.onap.org/multicloud/k8s/ +**Inventory** Ansible works agains multiple systems, the way for selecting them is through the usage of the inventory. The inventory file is a static source for determining the @@ -102,17 +94,10 @@ an inventory file for addressing those tasks to localhost. kube-master EOL -KRD consumes kubespray_ for provisioning a Kubernetes base deployment. As part -of the deployment process, this tool downloads and configures *kubectl* binary. -This action conflicts with *andrewrothstein.kubectl* ansible role. Therefore is -necessary to remove those instructions from all the ansible playbooks. +KUD consumes kubespray_ for provisioning a Kubernetes base deployment. .. _kubespray: https://github.com/kubernetes-incubator/kubespray -.. code-block:: bash - - # sed -i '/andrewrothstein.kubectl/d' playbooks/configure-*.yml - Ansible uses SSH protocol for executing remote instructions. The following instructions create and register ssh keys which avoid the usage of passwords. @@ -124,7 +109,7 @@ instructions create and register ssh keys which avoid the usage of passwords. **Enabling Nested-Virtualization** -KRD installs Virtlet_ Kubernetes CRI for running Virtual Machine workloads. +KUD installs Virtlet_ Kubernetes CRI for running Virtual Machine workloads. Nested-virtualization gives the ability of running a Virtual Machine within another. The *node.sh* bash script contains the instructions for enabling Nested-Virtualization. @@ -135,14 +120,14 @@ Nested-Virtualization. # ./node.sh -**Deploying KRD services** +**Deploying KUD services** Finally, the KRD provisioning process can be started through the use of *installer.sh* bash script. The output of this script is collected in the -*krd_installer.log* file for future reference. +*kud_installer.log* file for future reference. .. code-block:: bash - # ./installer.sh | tee krd_installer.log + # ./installer.sh | tee kud_installer.log .. image:: ./img/installer_workflow.png diff --git a/docs/index.rst b/docs/index.rst index 173076b4..7a49b6d1 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,7 +8,7 @@ over cloud regions that support Kubernetes as the orchestrator. Kubernetes Reference Deployment =============================== -The Kubernetes Reference Deployment(KRD) provides an +The Kubernetes Reference Deployment(KUD) provides an automated mechanism to install and configure the Kubernetes services required for the MultiCloud Kubernetes plugin. @@ -18,6 +18,6 @@ Table of contents .. toctree:: :maxdepth: 3 - KRD Project Architecture <krd_architecture> - Bare Metal All-in-One KRD deployment<bare_metal_provisioning> + KUD Project Architecture <kud_architecture> + Bare Metal All-in-One KUD deployment<bare_metal_provisioning> Kubernetes MultiCloud API sample ommands <sampleCommands> diff --git a/docs/krd_architecture.rst b/docs/kud_architecture.rst index f188135e..f56b72a5 100644 --- a/docs/krd_architecture.rst +++ b/docs/kud_architecture.rst @@ -10,7 +10,7 @@ limitations under the License. **************** -KRD Architecture +KUD Architecture **************** This document explains the different components of the Kubernetes @@ -78,13 +78,7 @@ installer.sh ############ Main bash script that installs dependencies and executes ansible -playbooks for provisioning KRD components on external nodes. This -script uses some arguments for the additional installation of -components. For more information about its usage: - -.. code-block:: bash - - ./installer.sh -h +playbooks for provisioning KUD components on external nodes. inventory/ ########## @@ -116,17 +110,17 @@ This folder contains a set of Ansible playbooks which perform the tasks required for configuring services like Multus, Virtlet and/or OVN. -playbooks/configure-krd.yml +playbooks/configure-kud.yml *************************** This ansible playbook collects the common actions among all the -Kubernetes AddOns offered by the KRD. +Kubernetes AddOns offered by the KUD. -playbooks/krd-vars.yml +playbooks/kud-vars.yml ************************ This file centralizes the version numbers and source URLs used for -different components offered by the KRD. Bumping a version requires +different components offered by the KUD. Bumping a version requires extensive testing to ensure compatibility. setup.sh @@ -158,5 +152,5 @@ tests/ This folder contains the health check scripts that guarantee the proper installation/configuration of Kubernetes AddOns. Its execution is disabled by default. In order to enable it, it's -necessary to pass the *-t* argument to the **installer.sh** bash +necessary to export KUD_ENABLE_TESTS=true environment variable before calling the **installer.sh** bash script, usually through changing the arguments in the *Vagrantfile*. diff --git a/kud/hosting_providers/baremetal/aio.sh b/kud/hosting_providers/baremetal/aio.sh index 5b448183..416a1fef 100755 --- a/kud/hosting_providers/baremetal/aio.sh +++ b/kud/hosting_providers/baremetal/aio.sh @@ -12,11 +12,6 @@ set -o errexit set -o nounset set -o pipefail -if [[ $(whoami) != 'root' ]];then - echo "This bash script must be executed as root user" - exit 1 -fi - aio_dir=$(cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd) cd ${aio_dir}/../vagrant @@ -53,7 +48,7 @@ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod og-wx ~/.ssh/authorized_keys echo "Enabling nested-virtualization" -./node.sh +sudo ./node.sh echo "Deploying KUD project" ./installer.sh | tee kud_installer.log diff --git a/kud/hosting_providers/vagrant/installer.sh b/kud/hosting_providers/vagrant/installer.sh index 346e2f69..c7715b59 100755 --- a/kud/hosting_providers/vagrant/installer.sh +++ b/kud/hosting_providers/vagrant/installer.sh @@ -196,6 +196,7 @@ function _print_kubernetes_info { echo "Admin password: secret" >> $k8s_info_file } +sudo -k # forgot sudo password if ! sudo -n "true"; then echo "" echo "passwordless sudo is needed for '$(id -nu)' user." |