All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

Prerequisites

Before installing the Akamas please make sure to review all the following requirements:

  • Cluster requirements

  • Software requirements

Cluster Requirements

Kubernetes version

Running Akamas requires a cluster running Kubernetes version 1.24 or higher.

Resources requirements

Akamas can be deployed in three different sizes depending on the number of concurrent optimization studies that will be executed. If you are unsure about which size is appropriate for your environment we suggest you start with the small one and upgrade to bigger ones as you expand the optimization activity to more applications.

The tables below report the required resources both for requests and limits that should be available in the cluster to use Akamas.

The resources specified on this page have been defined by considering using a dedicated namespace to run only Akamas components. If your cluster has additional tools (E.g. a service mesh or a monitoring agent) that inject containers in the Akamas pods we suggest either disabling them or increasing the sizing considering their overhead. Also if you plan to deploy other software inside the Akamas namespace and resource quotas are enabled you should increase the size considering the resources required by the specific software.

Small

The small tier is suited for environments that need to support up to 3 concurrent optimization studies

Resource
Requests
Limits

Medium

The medium tier is suited for environments that need to support up to 50 concurrent optimization studies

Resource
Requests
Limits

Large

The large tier is suited for environments that need to support up to 100 concurrent optimization studies. If you plan to run more concurrent studies, please contact Akamas support to plan your installation.

Resource
Requests
Limits

Storage requirements

The cluster must define a Storage Class so that the application installation can leverage Persistent Volume Claims to dynamically provision the volumes required to persist data.

For more information on this topic, refer to .

Permissions

Cluster-level permissions are not required to install and run Akamas. This is the minimal set of namespaced rules.

Networking

Networking requirements depend on how users interact with Akamas. Services can be exposed via Ingress or . Refer to for a more detailed description of the available options.

CPU

4 Cores

15 Cores

Memory

28 GB

28 GB

Disk Space

70 GB

70 GB

CPU

8 Cores

20 Cores

Memory

50 GB

50 GB

Disk Space

100 GB

100 GB

CPU

10 Cores

25 Cores

Memory

60 GB

60 GB

Disk Space

150 GB

150 GB

Kubernetes' official documentation
using kubectl as a proxy
Accessing Akamas
- apiGroups: ["", "apps", "policy", "batch", "networking.k8s.io", "events.k8s.io/v1", "rbac.authorization.k8s.io"]
  resources:
    - configmaps
    - cronjobs
    - deployments
    - events
    - ingresses
    - jobs
    - persistentvolumeclaims
    - poddisruptionbudgets
    - pods
    - pods/log
    - rolebindings
    - roles
    - secrets
    - serviceaccounts
    - services
    - statefulsets
  verbs: ["get", "list", "create", "delete", "patch", "update", "watch"]

Software Requirements

This page describes the requirements that should be fulfilled by the user when installing or managing an Akamas installation on Kubernetes. The software below is usually installed on the user's workstation or laptop.

Kubectl

Kubectl must be installed and configured to interact with the desired cluster. Refer to the official kubectl documentation to set up the client.

To interact with the Kubernetes APIs, you will need kubectl, preferably with a version matching the cluster. To check both the client and cluster versions, run the following:

kubectl version --short

Helm

Installing Akamas requires or higher. To check the version, run the following:

Privileged access

Akamas uses Elasticsearch to store logs and time series. When running Akamas on Kubernetes, Elasticsearch is installed automatically using the official Elasticsearch helm chart. This chart required running an init container with privileged access to set up a configuration on the Elasticsearch pod host. If running such a container is not permitted in your environment, you can add the following snippet to the akamas.yaml file when installing Akamas to disable this feature.

helm version --short
Helm 3.0
# Disable ES privileged initialization container.
elasticsearch:
  sysctlInitContainer:
    enabled: false