Oracle Cloud (Self-Managed)
This guide explores and requirements and configuration setup needed for lightbeam deployment on self managed virtual machines as Kubernetes nodes.
Requirements
1. Compartment
Dedicated Compartment for LightBeam installation.
Dedicated User and Group for LightBeam installation and administration
Policy statement required for the group.
Allow group <group_name> to manage all-resources in compartment <compartment_name>
2. Networking (VCN & Subnets)
New VCN: Create a VCN with /24 CIDR Block. Example: 10.10.1.0/24
Subnets (Regional): Create a private subnet with – /24 CIDR Block for LightBeam Nodes Example: 10.10.1.0/24
3. Compute & Storage (Instances)
Master node
Worker nodes
Count
1 VM
3 VMs
Compute
4 vCPU, 8 GiB Memory
(VM.Standard.E4.Flex – 2 OCPUs, 8 GB Memory)
8 vCPU, 32 GiB Memory*
(VM.Standard.E4.Flex – 4 OCPUs, 32 GB Memory)
Local Storage
200GB on / with < 5ms latency
50 GB / and 500GB on /var with < 5ms latency
OS Flavor
Canonical Ubuntu 24.04
Canonical Ubuntu 24.04
Network
10Gbps b/w with internet Access to install dependent packages
10Gbps b/w with internet Access to install dependent packages
User Access
sudo
sudo
Note:
For performance configuration, the worker nodes can be sized with 24 vCPU and 64 GiB Memory.
4. NAT Gateway
NAT Gateway with public IP address (for outbound access)

Route rule: Add a route rule in our default routing rules which uses the nat gateway.

Create DNS A Record for the Master Node private IP address
5. Jumpbox
To access the master node we will need a public jumpbox vm either in the same VCN in a public subnet or in a different VCN in a public subnet which has been connected by VCN peering.
The jumpbox must be setup with ssh access to the master node.
Note: The Jumpbox VCN and the lightbeam cluster VCN must have non overlapping CIDRs.
Resource Creation
Compartment Creation:
Create a compartment: Go to compartments page on oracle cloud console https://cloud.oracle.com/identity/compartments and click on create button.

Fill in the compartment details: Give the compartment a name and choose the appropriate parent compartment and hit create.

VCN creation:
Create a VCN: Go to vcns page on oracle cloud console https://cloud.oracle.com/networking/vcns. On the compartment filter select the compartment created for lightbeam and then hit create VCN.

Fill in the VCN fields : Fill in the required fields for VCN and hit create -
Name: Choose the appropriate name for the VCN.
Create in Compartment: This should show the correct compartment.
IPv4 CIDR block: Add 10.10.1.0/24 to the CIDR block list.
Use DNS hostnames in this VCN: Checkbox must be enabled.
DNS label (optional): A dns label can be entered , otherwise vcn name is used.

Security List Creation:
Create the security lists: On page of your created VCN go to security tab and click on create security list button.

Fill in the security list details: We want below security lists with below names and information.
Route table creation:
Create Route Tables: On the page of your created VCN go to routing tab and click on create route table.

Fill in the route table details: We will need below route tables for our requirement with below names and details.
Subnet Creation:
Create subnets: Go the vcns page and click on your created VCN. Then go to the subnets tab and hit create.

Fill in the subnet details: We want 5 subnets for our requirement with the details as mentioned in the table other options can be left as default.
lb-subnet
10.10.1.0/24
Private
default
default
public-lb-subnet (optional - required if we want the jumpbox to be in the same vcn)
10.10.3.0/24
Public
public-lb-seclist
lb-public-route
Instance Creation
Create the instances for master/worker nodes: Go to https://cloud.oracle.com/compute/instances page and choose the compartment where the lightbeam VCN is located. Click on create instance button.
Create the instances required as specified here: 3. Compute & Storage (Instances)
We need to download the ssh keys during instance creation for the master vm, the same public key can be uploaded during instance creation for worker nodes for us to be able to access it through ssh.
For the local storage we want allocate the storage on the boot volume as specified for the /var path on the block volume storage. Example below:

Jumpbox Creation
There are two ways we can approach jumpbox creation:
Creation in the same VCN but in a public subnet
Creation in a different VCN in a public subnet ( requires VCN peering)
Irrespective of the VCN its being created in we will need below resources created in jump box hosting VCN:
Security list details: We want below security list with below names and information.
Fill in the route table details: We will need below route table for our requirement with below names and details.
Create an internet gateway: We will need an internet gateway with name public-lb-ig for allowing jump box to be accessible from internet.
Subnet details: We want a public subnet with 10.10.3.0/24 CIDR , for the same VCN as the cluster we need to add 10.10.3.0/24 to existing CIDR block range and then create the subnet. Otherwise a new VCN needs to be created with 10.10.3.0/24 CIDR block.
public-lb-subnet (optional - required if we want the jumpbox to be in the same vcn)
10.10.3.0/24
Public
public-lb-seclist
lb-public-route
Create a jumpbox: Go to https://cloud.oracle.com/compute/instances page and choose the compartment where the jump box VCN is located. Click on create instance button.
Fill in the instance details:
Name: Give an appropriate name ( Example: lightbeam-jumpbox).
Image section: Click on change image button and change image to Ubuntu and choose Canonical Ubuntu 24.04 as the flavor.
Shape section: Click on change shape and for Instance type -> Keep the default virtual machine selected.
Shape series: Choose AMD.
Shape name: VM.Standard.E4.Flex ( with 1 OCPU and 2 GB Memory )
Instance Security section: We can keep it default options.
Instance Networking section: fill in the details:
VNIC name: Give an appropriate name (Example: lightbeam-jumpbox-vnic)
Primary network: With Select existing virtual cloud network option selected choose the VCN & compartment where jump box VCN is created selected.
Subnet: With Select existing subnet option selected choose the jumpbox subnet.
We can keep other options default and in Add SSH keys keys section download the private key.
Other sections can be kept default and keep clicking next and our jumpbox will be created, and we can connect to it using ssh through its public ip.
VCN Peering for jumpbox ( Optional )
For the case where the jumpbox is situated in a different VCN we will need VCN pairing to be able to access the cluster nodes from the jumpbox. We will need to create below resources.
Create a peering gateway: We need to create a peering gateway in both VCNs with below info
Lightbeam cluster vcn
lb-peer-1
Jumpbox VCN
Jumpbox vcn
lb-peer-2
Lightbeam cluster vcn
Once both peering gateways are created we need to click on any one peering gateway menu and select establish peering connection.

Select the Virtual cloud compartment where the target VCN is situated and then the target VCN and select the local peering gateway compartment and the peering gateway you want to use and hit establish peering connection which will result in the VCN getting connected through peering with a result below.

This will complete the Architecture setup and we can proceed with Kubeadm cluster setup.
Last updated