Skip to content

Instantly share code, notes, and snippets.

@gurayops
Last active August 15, 2020 02:38
Show Gist options
  • Save gurayops/49688163a6e803988e19827ee7d88049 to your computer and use it in GitHub Desktop.
Save gurayops/49688163a6e803988e19827ee7d88049 to your computer and use it in GitHub Desktop.
CDK for Terraform AKS Example
#!/usr/bin/env python
from constructs import Construct
from cdktf import App, TerraformStack, TerraformOutput
from imports.azurerm import \
AzurermProvider, \
KubernetesCluster, \
KubernetesClusterDefaultNodePool, \
KubernetesClusterIdentity, ResourceGroupConfig, AzurermProviderFeatures
class MyStack(TerraformStack):
def __init__(self, scope: Construct, ns: str):
super().__init__(scope, ns)
# define resources here
features = AzurermProviderFeatures()
provider = AzurermProvider(self, 'azure', features=[features])
node_pool = KubernetesClusterDefaultNodePool(
name='default', node_count=1, vm_size='Standard_D2_v2')
resource_group = ResourceGroupConfig(name='OUR_RESOURCE_GROUP', location='East US')
identity = KubernetesClusterIdentity(type='SystemAssigned')
cluster = KubernetesCluster(
self, 'our-kube-cluster',
name='our-kube-cluster',
default_node_pool=[node_pool],
dns_prefix='test',
location=resource_group.location,
resource_group_name=resource_group.name,
identity=[identity],
tags={"foo": "bar"}
)
app = App()
MyStack(app, "test")
app.synth()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment