Set Up ======= Requirements ------------ .. tocTree:: minimum_requirements Infrastructure -------------- For on-premise installation, ensure you have a set of dedicated servers or virtual machines with compatible hardware specifications For cloud-based installations, log in to your cloud provider account and create the necessary resources, such as virtual machines or instances. Deploy Kubernetes on prem ------------------------- This section describes how Aizen runs on-prem clusters. * For Kubernetes follow the Kubernetes documentation at https://kubernetes.io/docs/setup/ * MetalLB as a loadbalancer implementation https://metallb.universe.tf/installation/ * For persistent storage class, use OpenEBS https://openebs.io/docs/quickstart-guide/installation * Longhorn is a lightweight, reliable, and easy to use distributed block storage https://longhorn.io/docs/1.5.1/deploy/install/ * For Aizen install instructions, refer to :ref:`Aizen install guide ` Deploy Kubernetes on AWS ------------------------ This section describes how Aizen runs on Amazon Web Services(AWS) * For Amazon Elastic Kubernetes Services(EKS) follow the AWS documentation at https://aws.amazon.com/eks/getting-started/ * AWS Elastic Block Store (EBS) provides block storage for EC2 instances in AWS. It offers various volume types, including General Purpose (SSD), Provisioned IOPS (SSD), and Magnetic (HDD). EBS volumes can be dynamically provisioned and resized. For EKS load balancer refer * https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html * https://aws.amazon.com/premiumsupport/knowledge-center/eks-alb-ingress-controller-fargate/ For Aizen install instructions, refer to :ref:`Aizen install guide ` Deploy Kubernetes on GCP ------------------------ This section describes how Aizen runs on Google Cloud Platform(GCP) * For Google Kubernetes Engine (GKE) follow the GCP documentation at https://cloud.google.com/kubernetes-engine/docs/how-to * Google persistent disk (PD) offers block storage for Google Compute Engine instances in GCP. It provides standard and SSD persistent disk options and can be dynamically resized * Google cloud filestore offers managed NFS file storage for Google Cloud VM instances. It provides high-performance storage with the ability to scale based on demand * For Interoperability support with Amazon S3 applications refer :ref:`GCP Interoperability ` * For cloud service mesh follow the GCP documentation at https://cloud.google.com/service-mesh/docs/onboarding/provision-control-plane#gcloud * For installing and upgrading gateways with Istio refer https://cloud.google.com/service-mesh/docs/operate-and-maintain/gateways#ingress .. note:: * Feel free to use the Aizen provided steps * For a quick launch of GKE cluster instance use the terraform scripts by updating *variables.tf* (`gcp-terraform `_) to suite your environment * terraform init * terraform apply * Instruction to setup of Cloud service mesh :ref:`Cloud Service Mesh ` * Commands for ingress gateway setup with istio :ref:`Gateways with istio ` For Aizen install instructions, refer to :ref:`Aizen install guide ` Deploy Kubernetes on Azure -------------------------- This section describes how Aizen runs on Microsoft Cloud Services (Azure) * For Azure Kubernetes Service (AKS) follow the Azure documentation at https://docs.microsoft.com/azure/aks/kubernetes-walkthrough * Azure disk storage provides block storage for Azure Virtual Machines. It offers Standard HDD, Standard SSD, and Premium SSD options with dynamic resizing capabilities. * Azure files offer managed NFS file storage for Azure VM instances. It supports SMB protocol for Windows-based applications and NFS for Linux-based applications. .. note:: * Feel free to use the Aizen provided steps * For a quick launch of Kubernetes cluster(AKS) instance, from cloud shell use the terraform scripts (`aks-terraform `_) Edit and update **terraform.tfvars** file to suite your environment * terraform init * terraform plan -out=tfplan * terraform apply tfplan * Setup :ref:`Gateway APIs`. This will generate an external IP which can be made as static IP from Azure portal * To convert the external IP to be static using Azure portal do the following steps * Go to the resource group (network resource group) of your AKS cluster, On clicking on the name you will notice the name of public IP address resource * Click on associate IP and click the load balancer in resource type and click the resource group and assign it * Set up Azure Blob storage :ref:`Azure blob storage ` For Aizen install instructions, refer to :ref:`Aizen install guide ` Aizen microservice images ----------------------------------- All microservice images for Aizen are privately hosted in *Dockerhub* (hub.docker.com). You will need to get read only credentials from Aizen support team (support@aizencorp.com)