Terraform Provisioning issues with EKS, AKS, and GKE (Multi-Cloud)

Hello Team Kode Kloud Support

I’m sharing results of the Terraform error output performed on all 3 Public Clouds to provision Clusters using the self-guided documentation authored by HashiCorp. Any Kode Kloud member can replicate the issue using Cloud Shell from the Cloud console environment. Please help us to mitigate these issues to make the most use of our Pro Plan so we can build advanced use cases.

Choose the labs relevant to this post issue
Provision an EKS Cluster (AWS)
Provision an AKS Cluster (Azure)
Provision a GKE Cluster (Google Cloud)

See attachment for TF log errors

#1 Problems with AWS

Terraform Apply runs at which time an access denied error is returned because no identity policy grants the generated Kode Kloud Playground account sufficient privileges to create a resource object of module.eks.aws_cloudwatch_log_group. This is also possible due to EKS being unsupported at this time by Kode Kloud Playground itself. Please confirm when this feature service will be available.

#2 Problems with Azure

Authorization Failed for the user account. Additionally, I checked the role assignments for the generated playground user account and it is set to contributor. Terraform account is not authorized to check existing resource groups after the Terraform Apply.

Microsoft.Resources/subscriptions/resourcegroups/read

#3 Problems with GCP

GKE Cluster on GCloud, Terraform Apply runs but GCloud does not provision enough CPU for the assigned region. Attempted to assign the project to different region and was met with many errors. The bottleneck involved permission level issues so terraform apply would not execute in any other region.

Follow up discovery on the initial TF output errors. Kode Kloud Playground has specific sizing requirements. Will retest and post the results again.

#2 Azure

HashiCorp provided Github project vm_size value was not following the supported requirements by Kode Kloud Playground

unsupported vm_size = “Standard_D2_v2”
supported vm_size = “Standard_B2s”

#3 GCP

HashiCorp provided Github project machine_type value was not following the supported requirements by Kode Kloud Playground

unsupported machine_type = “n1-standard-1”
supported machine_type = “e2-medium”

Hello @morgayle I will take a look at this today.

Hello @vijin.palazhi

Here is my 2nd attempt on deploying AKS after correcting the VM Sizing issue that is supported by Kode Kloud Playground. Again, I am following HashiCorp documentation on provisioning clusters and making edits on what is only supported with our sub-accounts.

resource "random_pet" "prefix" {}

provider "azurerm" {

features {}

}

resource "azurerm_resource_group" "default" {

name = "${random_pet.prefix.id}-rg"

location = "East US"

tags = {

environment = "Demo"

}

}

resource "azurerm_kubernetes_cluster" "default" {

name = "${random_pet.prefix.id}-aks"

location = azurerm_resource_group.default.location

resource_group_name = azurerm_resource_group.default.name

dns_prefix = "${random_pet.prefix.id}-k8s"

default_node_pool {

name = "default"

node_count = 2

vm_size = "Standard_B2s"

os_disk_size_gb = 30

}

service_principal {

client_id = var.appId

client_secret = var.password

}

role_based_access_control {

enabled = true

}

tags = {

environment = "Demo"

}

}