Skip to content

Installation

Catherine edited this page Dec 30, 2024 · 9 revisions

Prerequisites

Plan the Topology

  • Clustered deployment plus compute nodes Refer to network illustration.
  • All-in-one (plus more compute nodes possibly) For development purposes, it is feasible to deploy all components onto a single node with KVM (Kernel - based Virtual Machine) capabilities. This setup can be configured to use just one network.

Required Operating System

  • Ubuntu 22.04 or a later version must be installed on both the controllers and the compute nodes.

Suggested Hardware Specifications

  • CPU: It is recommended to have a CPU with 4 or more cores.
  • Memory: At least 8GB of memory is required.
  • Disk: The disk should have a capacity of 500GB or larger. However, for the purposes of development or a quick trial run, a smaller disk can also be used.

Steps for Installing CloudLand

Initial Deployment

1. Build all components

cd /opt
git clone git@github.com:IBM/cloudland.git
cd cloudland/deploy
./build.sh

2. Adjust configurations

  1. Edit hosts/hosts file
    Based on the predefined topology, make the necessary modifications to the hosts/hosts file. The generated hosts file assumes that all components are installed on the same node, which is convenient for development. But in a production environment, a distributed deployment is often more preferable.
  2. Edit netconf.yml file
    Update the password and network devices according to the specific environment settings.
  3. Ensure all nodes sccessibility with cland Key Append the contents of /opt/cloudland/deploy/.ssh/cland/id_rsa.pub to the ~root/.ssh/authorized_keys file of all nodes. This step is crucial to ensure that the nodes listed in the hosts file can be accessed using the cland key.

3. Deploy with ansible playbook

ansible-playbook cloudland.yml -i hosts -e@netconf.yml

Expand more compute nodes (when required)

  1. Edit hosts/hosts file
    Include additional compute nodes in the hyper group within the hosts/hosts file. It should be noted that the sequence of the compute node ID (SCI_CLIENT_ID) is mandatory. It must start from 0 and increase by 1 incrementally, and there should be no duplication. Also, a zone name must be predefined for each compute node.
  2. Ensure all nodes sccessibility with cland Key*
    Similar to the previous step for initial deployment, append the contents of /opt/cloudland/deploy/.ssh/cland/id_rsa.pub to the ~root/.ssh/authorized_keys file of all the nodes to be expanded. This enables access to these nodes using the cland key.
  3. Execute ansible playbook
ansible-playbook cloudland.yml -i hosts -e@netconf.yml --tags base,hyper

Validate the Deployment

Open a web browser and enter the URL https://controller-ip to check if the CloudLand deployment has been successfully completed. Afterward, follow the Manual guide for the next steps.

Clone this wiki locally