AWS
This document will help guide you through understanding the process of building, deploying, and orchestrating Diarkis on AWS (EKS).
Last updated
Was this helpful?
This document will help guide you through understanding the process of building, deploying, and orchestrating Diarkis on AWS (EKS).
Last updated
Was this helpful?
Using Diarkis is easy if you make use of our provided k8s configurations. However, please note that these configurations are in a primitive state, so feel free to modify them as necessary.
Docker with one of the following configurations:
MacOS - Install Docker for MacOS. See the installation guide .
Linux - Install Docker for your particular distribution of Linux according to the installation guide . Note: Docker provides .deb
and .rpm
packages for major distributions of Linux on x86_64/amd64
architecture, as well as for Arch-based distributions.
Windows (with WSL2 or Hyper-V backend) - See the installation guide . If installing Docker for the first time, please consider your use-case prior to backend selection.
AWS account with billing enabled. If you do not have an AWS account nor project created already, please see to get started.
AWS CLI (aws
command) with proper authentication. See the installation guide (Note: AWS CLI supports all major operating systems). Please check for help on CLI authentication.
Kubernetes CLI (kubectl
command) available for download .
EKS CLI (eksctl
command) available for download on the AWS Workshop .
In the following steps we will guide you through the process of building, deploying, and orchestrating a template Diarkis server cluster. These instructions should be enough to help you get started.
Note: If an error occurs regarding NAT gateway compatibility in the selected AZ, choose a different AZ
Allow TCP and UDP traffic for ports 7000-8000
from 0.0.0.0/0
to EKS nodes.
We recommend setting this in the security group named: eks-cluster-sg-diarkis-*
.
From the project root generated by server-template
, run the following commands:
After generating server executables (udp
, tcp
, http
, mars
) in ./remote_bin
, build the container image:
Check if the following four components are running:
First, retrieve the public endpoint:
Send an HTTP GET request to the obtained EXTERNAL_IP
:
If you receive a response like the following, it is working correctly:
If there are missing items, there may be an issue with one of the deployed components. At this point, we recommend you to contact Diarkis support for further assistance.
This file is pre-configured for the cluster name diarkis
. If using a different cluster name, modify references to diarkis
in the manifest.
Logs from containers can be aggregated using CloudWatch Logs.
fluent-bit
is already deployed in the amazon-cloudwatch
namespace, but permissions are not set.
Assign the CloudWatchAgentServerPolicy
to diarkis-public
and diarkis-private
nodes to aggregate logs. Logs will appear under /aws/containerinsights/Cluster_Name/application
, allowing for filtering.
Before we can push our Diarkis component images for deployment, we must first prepare remote ECR registries. As a base image we make use of alpine
by default, it can be retrieved from .