3. Azure Kubernetes Service

3.1. Introduction

This guide aims to explain how to set up Azure Kubernetes Service (AKS) cluster where Exastro IT Automation will be deployed.

3.2. Prerequisites

  • Azure CLI must be available.

  • The user must have permission to do the actions written in this manual.

3.3. AKS cluster configuration

3.3.1. AKS cluster example

This section serves as an example on how to create an AKS cluster in order to connect to the Exastro Suite deployed to the AKS environment
Make sure to check settings and input values suited for your own environment.
  1. Start

    This section explains how to configure External IP and register DNS to the Exastro Platform service so it access through the internet.
    This guide will also contain steps on how to create a Public IP prefix, as it is required in order to confiure External IPs.
    While there are way to create Public IP Prefixes using GUI, this guide will show you how to do it using Azure CLI.
  2. Configure Variables

    Define parameters when creating the clsuter.

    Variable

    Description

    RESOURCE_GROUP

    Name of the resource group

    CLUSTER_NAME

    Name of AKS cluster

    PUBLIC_IP_PREFIX_NAME

    Public IP Prefix name

    AUTHORIZED_IP_RANGES

    Set Source IP Address

    Configure the variables needed in order to run commands.

    警告

    The following parameters are examples. Change the values to fit your environment.
    # Name of the resource group
    RESOURCE_GROUP=exastro-suite-group
    # Name of AKS cluster
    CLUSTER_NAME=exastro-suite
    
    # Public IP Prefix name
    PUBLIC_IP_PREFIX_NAME=${CLUSTER_NAME}-ipprefix
    # Set Source IP Address
    AUTHORIZED_IP_RANGES=xxx.xxx.xxx.xxx/31
    
  3. Create Public IP Prefix.

    # Issue Public IP Address
    az network public-ip prefix create \
      --resource-group ${RESOURCE_GROUP} \
      --name ${PUBLIC_IP_PREFIX_NAME} \
      --length 31 \
      --location japaneast
    
    # Store Public IP Prefix results in Variables
    PUBLIC_IP_PREFIX_ID=$(az network public-ip prefix show --resource-group ${RESOURCE_GROUP} --name ${PUBLIC_IP_PREFIX_NAME} --query id --output tsv)
    AUTHORIZED_IP_RANGES+=,$(az network public-ip prefix show --resource-group ${RESOURCE_GROUP} --name ${PUBLIC_IP_PREFIX_NAME} --query ipPrefix --output tsv)
    
  4. Create AKS cluster

    # Create AKS cluster
    az aks create \
      --resource-group ${RESOURCE_GROUP} \
      --name ${CLUSTER_NAME} \
      --generate-ssh-keys \
      --kubernetes-version 1.23.8 \
      --node-count 1 \
      --node-vm-size Standard_D4a_v4 \
      --os-sku Ubuntu \
      --enable-node-public-ip \
      --node-public-ip-prefix-id ${PUBLIC_IP_PREFIX_ID} \
      --enable-addons http_application_routing \
      --api-server-authorized-ip-ranges ${AUTHORIZED_IP_RANGES}
    

3.3.2. Confirm Domain name

Check the domain name in order to connect to the AKS cluster from the internet.
# Gather domain name configured to AKS cluster
az aks show -g ${RESOURCE_GROUP} -n ${CLUSTER_NAME} --query addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName -o table
Result
----------------------------------------
xxxxxxx.japaneast.aksapp.io
※The output domain will also be used in configurations when using Ingress.
When the AKS cluster configuration has finished, follow the Helm chart (Kubernetes) - Online manual and install Exastro IT Automation.