capi_install - OpenNebula/cluster-api-provider-opennebula GitHub Wiki

Requirements

This section outlines the key requirements for deploying CAPONE. Please ensure the following prerequisites are met:

  • OpenNebula version: >= 6.10
  • OneGate enabled
  • Docker installed and enabled
  • Recommended Memory per VM:
    • VNF: 512 MB
    • K8s nodes: 3 GB
  • Minimum Cores (VCPU) per VM:
    • VNF: 1
    • K8s nodes: 1

Installation

This section explains the necessary configurations required before starting the deployment process, you just need to prepare:

  • a public and a private network:

Networking

Deployment requires two virtual networks that will be referred as: public and private.

  • public This network should provide Internet access to the VMs and to the services deployed in the k8s cluster. This network requires two address ranges (AR) to be configured.

    • IPv4: This range will include the set of public IPs, such as the CONTROL_PLANE_HOST address.
    • ETHER: This is an ETHER-type address range used by LoadBalancer routers to use multiple floating IPs. Ensure that a single MAC ETHER AR is configured at index 1 within your public VNET.
  • private This network should provide complete isolation from the public internet and is used for internal communication between the nodes of the k8s cluster.

As an example, consider the following network settings:

  • public VNET/subnet: 172.20.0.0/24
    • IPv4 range: 172.20.0.200-172.20.0.249
    • ETHER range: 02:00:3c:f0:4d:f9-02:00:3c:f0:4e:08
    • Provides Internet access via NAT.
  • private VNET/subnet: 10.2.11.0/24
    • IPv4 range: 10.2.11.100-10.2.11.199
    • No connection to the public Internet

The corresponding AR configuration for the OpenNebula public virtual network is shown below:

"AR": [
  {
    "AR_ID": "0",
    "IP": "172.20.0.200",
    "MAC": "02:00:ac:14:00:c8",
    "SIZE": "49",
    "TYPE": "IP4",
    "MAC_END": "02:00:ac:14:00:f8",
    "IP_END": "172.20.0.248",
    "USED_LEASES": "0",
    "LEASES": {}
  },
  {
    "AR_ID": "1",
    "MAC": "02:00:3c:f0:4d:f9",
    "SIZE": "16",
    "TYPE": "ETHER",
    "MAC_END": "02:00:3c:f0:4e:08",
    "USED_LEASES": "0",
    "LEASES": {}
  }
]