Azure Kubernetes Service (AKS)

The following example will be used to illustrate configuration schema.

k8s:
  management-cluster:
    type: azurerm-provision-aks
    resource_group_name: mng-cluster-rg
    count: 4
    poolname: "linuxpool"
    vm_size: "Standard_DS3_v2"
    os_disk_size_gb: 30
    os_type: "Linux"
    kubernetes_version: "1.13.5"
    namespace: "maxkhons"
    vpc:
      name: the-first-vpc
  dev-cluster:
    type: azurerm-provision-aks
    resource_group_name: dev-cluster-rg
    count: 2
    poolname: "linuxpool"
    vm_size: "Standard_DS3_v2"
    os_disk_size_gb: 30
    os_type: "Linux"
    kubernetes_version: "1.13.5"
    namespace: "devns"
    vpc:
      name: the-second-vpc

EKSs are defined using YAML syntax as described in the table below

Element

Description

k8s

Parent element of Kubernetes (AKS) definitions, contains list clusters to be created.

management-cluster

Kubernetes (AKS) identifier. Gropus Kubernetes (EKS) settings. OpeNgine will assign this name to the AKS cluster, also used as reference in other configuration sections.

type

For AKS clusters, type accepts one value: azurerm-provision-aks - the AKS cluster will be provisioned and configured by OpeNgine.

resource_group_name

Azure Resource Group where AKS cluster will be placed in.

count

Number of worker nodes in AKS cluster.

poolname

Name of the Agent pool, e.g. “linuxpool”.

vm_size

Size of each VM in the Agent Pool (e.g. Standard_D4s_v3).

os_type

OS used for the Agents. Possible values are Linux and Windows.

os_disk_size_gb

The Agent OS disk size in GB.

kubernetes_version

AKS version - Supported versions.

namespace

Namespace identifier, OpeNgine will create kubernetes namespace with that and will use it for application deployment.

vpc.name

VPC identifier from the vpc section, OpeNgine will use provision the cluster into this VNet.

References: