Install BBE Cloudsetup
SUMMARY This section describes installation procedures and system requirements for BBE Cloudsetup.
BBE Cloudsetup Installation Overview
BBE Cloudsetup facility constructs a Kubernetes cluster from a set of dedicated Ubuntu hosts. You can use the BBE Cloudsetup facility to create multiple Kubernetes clusters managed from a single jump host.
We recommend that you create a cluster with at least three control plane nodes. BBE Cloudsetup control plane nodes are hybrid nodes. Meaning, that they take on the roles of a control plane, etcd (Kubernetes state database) and worker nodes. Additional nodes can be added to the cluster that are pure worker nodes (single worker role).
After you set up the cluster (using BBE Cloudsetup), you can then install the desired Juniper BBE cloud applications in the cluster.
You can deploy BBE Cloudsetup on any hardware that meets the installation requirements. The following sections describe:
-
BBE Cloudsetup hardware and software requirements
-
How to install BBE Cloudsetup
BBE Cloudsetup Installation Requirements
Before you begin installing BBE Cloudsetup, make sure you have the following:
-
A juniper.net user account with permissions to download the BBE Cloudsetup software package.
-
A Linux host (jump host) running Ubuntu 22.04 LTS (required) for running the
bbecloudsetup
utility. The jump host must meet the following system requirements:-
CPU cores—2
-
RAM—8 GB
-
Disk space—128 GB of free disk storage
-
-
If you are performing an offline installation, you will need a Linux host system where you will move the downloaded BBE Cloudsetup images package to. The host can be the same as the jump host, but it must meet the following requirements:
-
Docker must be installed.
-
Must have access to an existing container registry that can be used as the system registry for the cluster. You must be logged into the registry through
docker login registry_address
.Note:The system registry should exist and be available for the cluster to use for the lifespan of the cluster. The cluster will need to pull system infrastructure images from the host when nodes are added or restarted.
-
-
Nodes that will be used as part of the cluster (either virtual or physical machines). A node is a Linux system running Ubuntu 22.04 LTS (required) that has a management address and a domain name.
-
The cluster nodes and the jump host must be able to access each other through SSH.
-
All cluster nodes must have a user account with sudo access.
-
We recommend that all cluster nodes meet the following minimum system requirements:
-
CPU cores—8 (hyperthreading preferred)
-
RAM—64 GB
-
Disk space—512 GB of free disk storage (solid state recommended)
We recommend that you use the storage space to partition your disk accordingly:
-
128 GB to the root (/) partition for the operating system
-
128 GB to /var/lib/docker for the Docker cache
-
256 GB to /mnt/longhorn for the application data. This is the default location, you can specify a different location during configuration.
-
-
Node access and authentication. You must have root-level SSH access, using key-based authentication, to all nodes.
Note:You should not run BBE cloudsetup as root. You should configure BBE Cloudsetup to connect as a user on each node with sudo permissions and a Bash login shell.
-
You must create your own partitions on all the host systems. On the jump host, you should create a Docker partition. On the cluster nodes you must create both a Docker partition and a Longhorn (data) partition.
-
Be aware that BBE Cloudsetup may modify elements of your host system's configurations. This is required so that it can become a cluster node.
Install BBE Cloudsetup
SUMMARY Use this procedure to install BBE Cloudsetup.
Before you begin, make sure you complete the following:
-
Confirm that you have met all the requirements for the BBE Cloudsetup installation (see BBE Cloudsetup Installation Requirements).
-
You must create SSH keys before installing BBE Cloudsetup. The SSH keys must be copied to each cluster member with the exact hostname used in the configuration file. See Configure SSH.
Install the BBE Cloudsetup utility.
Configuration File
This section describes the fields in the configuration file (exampleconfig.yaml).
Field Name |
Description |
---|---|
Cluster name |
Enter the name of the cluster. |
NTP server |
Enter the name of the NTP server that is used to synchronize the time across all nodes in the cluster. |
List of nodes in the cluster
|
Enter the following information for each node.
|
General system configuration A registry is a central resource for pulling container images for cluster workloads. The registry may be a preexisting registry that the cluster nodes have access to, or you can install the registry as part of the cluster. Note:
The default action is to install and set up a registry as a pod in the cluster. You can enter an alternative address if you want to host your own registry. |
Enter the following system information:
|
Load balancer configuration metalLB A L2 network load balancer provides external (outside the cluster) access to application load balancing services. It is responsible for assigning external IP addresses to load balancing services when they are created as part of application startup. The number of addresses that you configure in the Load Balancer's address pool is dependent on the applications you intend to run:
The subnet for the addresses must be reachable from all the cluster nodes and the remote devices that need access to the application's services. |
Enter the following information:
|
Network configuration It may be desirable to segregate intracluster network traffic (used to maintain and manage the cluster) from network traffic (used to communicate with external systems). In a multi-node cluster, a virtual IP address should be assigned to the cluster so that the cluster control plane can be addressed as one system. |
network—Enter the following network information: Note:
All nodes in the cluster must have the same interfaces available.
|
Storage configuration |
Enter the following information to configure storage:
|
Configure SSH
Configure SSH password-less access from the jump host to the control plane and worker nodes.
Upgrade BBE Cloudsetup
SUMMARY Use this procedure to upgrade BBE Cloudsetup.
Clean Registry
SUMMARY You can use this proceed to clean your registry of images that are not currently being used.
BBE Cloudsetup does not automatically perform any cleanup of old images. If needed,
you can remove old images manually by using the bbecloudsetup registry
clean
command.