Requirements for an OpenStack-based cluster

While planning the deployment of an OpenStack-based Mirantis Container Cloud cluster with Mirantis Kubernetes Engine (MKE), consider the following general requirements:

  • Kubernetes on OpenStack requires the Cinder and Octavia APIs availability.

  • Since Container Cloud 2.17.0, Mirantis supports deployments based on OpenStack Victoria with Tungsten Fabric (TF) on top of Mirantis OpenStack for Kubernetes (MOSK) Victoria with TF.

  • Before Container Cloud 2.17.0, the only supported networking for OpenStack is Open vSwitch (OVS).

For system requirements for a bootstrap node, see Requirements for a bootstrap node.

If you use a firewall or proxy, make sure that the bootstrap, management, and regional clusters have access to the following IP ranges and domain names:

  • IP ranges:

  • Domain names:

    • mirror.mirantis.com and repos.mirantis.com for packages

    • binary.mirantis.com for binaries and Helm charts

    • mirantis.azurecr.io and *.blob.core.windows.net for Docker images

    • mcc-metrics-prod-ns.servicebus.windows.net:9093 for Telemetry (port 443 if proxy is enabled)

    • mirantis.my.salesforce.com and login.salesforce.com for Salesforce alerts

Note

  • Access to Salesforce is required from any Container Cloud cluster type.

  • If any additional Alertmanager notification receiver is enabled, for example, Slack, its endpoint must also be accessible from the cluster.

Note

The requirements in this section apply to the latest supported Container Cloud release.

Requirements for an OpenStack-based Container Cloud cluster

Resource

Management or regional cluster

Managed cluster

Comments

# of nodes

3 (HA) + 1 (Bastion)

5 (6 with StackLight HA)

  • A bootstrap cluster requires access to the OpenStack API.

  • Each management or regional cluster requires 3 nodes for the manager nodes HA. Adding more than 3 nodes to a management or regional cluster is not supported.

  • A managed cluster requires 3 manager nodes for HA and 2 worker nodes for the Container Cloud workloads. If the multiserver mode is enabled for StackLight, 3 worker nodes are required for workloads.

  • Each management or regional cluster requires 1 node for the Bastion instance that is created with a public IP address to allow SSH access to instances.

# of vCPUs per node

8

8

  • The Bastion node requires 1 vCPU.

  • Refer to the RAM recommendations described below to plan resources for different types of nodes.

RAM in GB per node

24

16

To prevent issues with low RAM, Mirantis recommends the following types of instances for a managed cluster with 50-200 nodes:

  • 16 vCPUs and 32 GB of RAM - manager node

  • 16 vCPUs and 128 GB of RAM - nodes where the StackLight server components run

The Bastion node requires 1 GB of RAM.

Storage in GB per node

120

120

  • For the Bastion node, the default amount of storage is enough

  • To boot machines from a block storage volume, verify that disks performance matches the etcd requirements as described in etcd documentation

  • To boot the Bastion node from a block storage volume, 80 GB is enough

Operating system

Ubuntu 20.04
CentOS 7.9 0
Ubuntu 20.04
CentOS 7.9 0

For management, regional, and managed clusters, a base Ubuntu 20.04 or CentOS 7.9 image must be present in Glance.

MCR

20.10.12

20.10.12

Mirantis Container Runtime (MCR) is deployed by Container Cloud as a Container Runtime Interface (CRI) instead of Docker Engine.

OpenStack version

Queens, Victoria

Queens, Victoria

OpenStack Victoria is supported top of MOSK clusters.

Obligatory OpenStack components

Octavia, Cinder, OVS/TF

Octavia, Cinder, OVS/TF

Tungsten Fabric is supported since Container Cloud 2.17.0 on OpenStack Victoria.

# of Cinder volumes

7 (total 110 GB)

5 (total 60 GB)

  • Each management or regional cluster requires 2 volumes for Container Cloud (total 50 GB) and 5 volumes for StackLight (total 60 GB)

  • A managed cluster requires 5 volumes for StackLight

# of load balancers

10 (management) + 7 (regional)

6

  • LBs for a management cluster:

    • 1 for MKE

    • 1 for Container Cloud UI

    • 1 for Keycloak service

    • 1 for IAM service

    • 6 for StackLight

  • LBs for a regional cluster:

    • 1 for MKE

    • 6 for StackLight

  • LBs for a managed cluster:

    • 1 for MKE

    • 5 for StackLight with enabled logging (or 4 without logging)

# of floating IPs

11 (management) + 8 (regional)

11

  • FIPs for a management cluster:

    • 1 for MKE

    • 1 for Container Cloud UI

    • 1 for Keycloak service

    • 1 for IAM service

    • 1 for the Bastion node (or 3 without Bastion: one FIP per manager node)

    • 6 for StackLight

  • FIPs for a regional cluster:

    • 1 for MKE

    • 1 for the Bastion node (or 3 without Bastion)

    • 6 for StackLight

  • FIPs for a managed cluster:

    • 1 for MKE

    • 3 for the manager nodes

    • 2 for the worker nodes

    • 5 for StackLight with enabled logging (4 without logging)

0(1,2)

A Container Cloud cluster based on both Ubuntu and CentOS operating systems is not supported.