AKS Cluster
This guide explains how to use the provisioning script provided by OPSWAT to create an Azure AKS and generate all the Kubernetes components needed to run MetaDefender Core and ICAP Server.
MetaDefenderK8S Script Details
GitHub Project metadefender-k8s --> Script path: ./metadefenderk8s.sh
Programming Language: Bash
Installation Pre-requisites for provisioning:
Azure Credentials
Set in your local environment variables the credentials of the IAM user under
- ARM_CLIENT_ID
- ARM_CLIENT_SECRET
- ARM_SUBSCRIPTION_ID
- ARM_TENANT_ID
ssh public key to used to access the cluster with kubectl. Default (~/.ssh/id_rsa.pub). Change from here
az login before running the script for the step of downloading the kubeconfig file for you
MetaDefender Core License Key (Required with --mdcore parameter)
- Set it in your local environment variables the credentials under MDCORE_LICENSE_KEY
MetaDefender ICAP Server License Key (Required with --icap parameter)
- Set it in your local environment variables the credentials under MDICAPSRV_LICENSE_KEY
How to run the script
Script Parameters
MetaDefender ICAP Server Flowchart Provisioning in Azure
The following flowchart represents how the provisioning script will configure the environment based on the options selected for provisioning Azure AKS.
Summary options to be selected
Access to the K8S cluster. Generate Ingress or provide own access.
- An Ingress and an internal load balancer will be created per each product flag added as parameter to the script
- Own Access, you decide how to access to the cluster so it won't generate any ingress but will still create the internal load balancer for the product service deployed
Have your own database or create new database
- Own database, will be asked if you want the script to set up the credentials and database host url for you or the script will just indicate the secrets to edit, later on by you, for connecting the MetaDefender ICAP Server with your database.
- Create new DB in K8S or external DB that for Azure we will provision a Azure PostgreSQL Flexible Server
