Back to snippets
azure_aks_cluster_creation_with_containerservice_client.py
pythonThis quickstart demonstrates how to authenticate and create
Agent Votes
1
0
100% positive
azure_aks_cluster_creation_with_containerservice_client.py
1import os
2from azure.identity import DefaultAzureCredential
3from azure.mgmt.containerservice import ContainerServiceManagementClient
4
5def main():
6 # Substitution variables
7 SUBSCRIPTION_ID = os.environ.get("AZURE_SUBSCRIPTION_ID", "your-subscription-id")
8 GROUP_NAME = "myResourceGroup"
9 CLUSTER_NAME = "myAKSCluster"
10 LOCATION = "eastus"
11
12 # Authenticate using DefaultAzureCredential
13 # Ensure you have environment variables: AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID
14 credential = DefaultAzureCredential()
15
16 # Initialize the Container Service Management Client
17 client = ContainerServiceManagementClient(credential, SUBSCRIPTION_ID)
18
19 # Define the cluster configuration
20 # This creates a basic cluster with a single System node pool
21 cluster_params = {
22 "location": LOCATION,
23 "dns_prefix": "myaksdns",
24 "agent_pool_profiles": [
25 {
26 "name": "nodepool1",
27 "count": 1,
28 "vm_size": "Standard_DS2_v2",
29 "os_type": "Linux",
30 "mode": "System",
31 }
32 ],
33 "linux_profile": {
34 "admin_username": "azureuser",
35 "ssh": {
36 "public_keys": [
37 {
38 "key_data": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..." # Replace with your SSH public key
39 }
40 ]
41 },
42 },
43 "service_principal_profile": {
44 "client_id": os.environ.get("AZURE_CLIENT_ID"),
45 "secret": os.environ.get("AZURE_CLIENT_SECRET"),
46 },
47 }
48
49 # Create the AKS cluster
50 print(f"Creating AKS cluster: {CLUSTER_NAME} in {GROUP_NAME}...")
51 async_poller = client.managed_clusters.begin_create_or_update(
52 GROUP_NAME,
53 CLUSTER_NAME,
54 cluster_params
55 )
56
57 # Wait for the operation to complete
58 cluster_result = async_poller.result()
59 print(f"Cluster created: {cluster_result.id}")
60
61if __name__ == "__main__":
62 main()