This step explains how to set up your shell environment and create a Microsoft®
Azure Kubernetes Service
(AKS) cluster suitable for testing Apigee hybrid.
Set up your terminal shell
Be sure you have the
Azure CLI (az) and kubectl
installed in your local shell. The Azure CLI
tool provides the primary command-line interface for Azure, and kubectl provides the primary
command-line interface for running commands against Kubernetes clusters.
Create a resource group
Create a resource group either using Azure console or with the Azure CLI. For example:
az group create --name my-hybrid-rg --location eastus
Create a virtual network
Create a virtual network with a non-conflicting CIDR range. For example:
Create a cluster with the following minimum configuration settings.
Recommended minimum storage: Review the AKS disk specifications and choose a storage volume size
based on your IOPs and cost requirements.
Tab
Attribute
Value
Basics
Subscription
Your subscription name
Resource group
The resource group you created previously
Region
The region you specified previously. For example: (US) East US
Kubernetes cluster name
The name of the cluster. For example: my-hybrid-aks-cluster
Kubernetes version
Choose version 1.14.x or a later version
DNS name prefix
The DNS name prefix. For example: my-hybrid-aks-cluster-dns
Node count
3
Node size
DS3 Standard
Scale
Virtual nodes
Disabled
VM scale sets
Enabled
Authentication
Enable RBAC
Yes
Service principal
Default
Networking
HTTP application routing
No
Load balancer
Standard
Network configuration
Advanced
Virtual network
The virtual network name. You can select the virtual network you created
previously, or create a new one by clicking the Create new
link. For example: my-hybrid-rg-vnet
Cluster subnet
Example: default (10.240.0.0/16)
Kubernetes service address range
The service address range. Be sure to use a non-competing address range.
For example: 10.0.0.0/16
Kubernetes DNS service IP address
For example: 10.0.0.10
Docker Bridge address
For example: 172.17.0.1/16
Monitoring
Enable container monitoring
Yes
Log Analytics workspace
For example: DefaultWorkspace-66f9d75c-2cd9-47dd-ad0f-c43d888e9cef-EUS
Tags
None
Click Review and Create.
When the cluster creation completes, go to the next step.
Set cluster credentials
Add the kubernetes cluster credentials for the newly created cluster using the following command
if not already added. For example:
az aks get-credentials --resource-group my-hybrid-rg --name my-hybrid-aks-cluster
Set the current context
A context is a group of access parameters. Each context contains a Kubernetes cluster,
a user and a namespace. The current context is the cluster that is currently the default for
kubectl: all kubectl commands run against that cluster.
Make sure the current context is set to the cluster you just created. For example:
If the context is not set to your cluster as expected, follow these steps to change it:
List all the contexts to determine which is the current context. In the
following example, the context is set to the my-hybrid-aks-ext01:
kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO
my-hybrid-aks-cluster my-hybrid-aks-cluster clusterUser_my-hybrid-rg2_myhybrid-aks-cluster
* my-hybrid-aks-ext01 my-hybrid-aks-ext01 clusterUser_my-hybrid-rg_my-hybrid-aks-ext01
If necessary, set the current context to the cluster you just created (the cluster
into which you intend to install Apigee hybrid). Assuming the previous get-contexts output,
if the cluster name you created were my-hybrid-aks-cluster, you would switch to the
my-hybrid-aks-cluster context, as follows:
kubectl config use-context my-hybrid-aks-cluster
Where my-hybrid-aks-cluster is the name of the cluster context to switch to.
Summary
You now have a Kubernetes cluster running in AKS. Your shell environment is
set up, and you are ready to install the Apigee hybrid runtime software
on your local machine.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThis documentation covers version 1.2 of Apigee hybrid, which is end-of-life, and users should upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eInstructions are provided for setting up a shell environment and creating a Microsoft Azure Kubernetes Service (AKS) cluster for testing Apigee hybrid.\u003c/p\u003e\n"],["\u003cp\u003eThe Azure CLI (az) and kubectl tools are required and need to be installed for interacting with Azure and Kubernetes clusters, respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe process includes creating a resource group, a virtual network with a non-conflicting CIDR range, and an AKS cluster with specific configuration settings.\u003c/p\u003e\n"],["\u003cp\u003eAfter creating the AKS cluster, users must set the cluster credentials and ensure the current context is correctly set to their newly created cluster to run \u003ccode\u003ekubectl\u003c/code\u003e commands.\u003c/p\u003e\n"]]],[],null,["# Step 1: Create an AKS cluster\n\n| You are currently viewing version 1.2 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n| **UPGRADING:** If you are upgrading from v1.1.x to v1.2.0, see [Upgrading Apigee hybrid](/apigee/docs/hybrid/v1.2/upgrade) for instructions. If you are performing a new installation, continue with the configurations described below.\n\n\nThis step explains how to set up your shell environment and create a Microsoft®\nAzure Kubernetes Service\n(AKS) cluster suitable for testing Apigee hybrid.\n| There are many variations on how to create clusters in AKS. This topic walks through a basic scenario to help get you started with hybrid. For more detailed information about create clusters on AKS, see also [Quickstart:\n| Deploy an Azure Kubernetes Service cluster using the Azure CLI](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough) and [Quickstart: Deploy\n| an Azure Kubernetes Service (AKS) cluster using the Azure portal](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough)\n\nSet up your terminal shell\n--------------------------\n\nBe sure you have the [Azure CLI (az)](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) and [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\ninstalled in your local shell. The Azure CLI\ntool provides the primary command-line interface for Azure, and `kubectl` provides the primary\ncommand-line interface for running commands against Kubernetes clusters.\n\nCreate a resource group\n-----------------------\n\n\nCreate a resource group either using Azure console or with the Azure CLI. For example: \n\n```\naz group create --name my-hybrid-rg --location eastus\n```\n\nCreate a virtual network\n------------------------\n\n\nCreate a virtual network with a non-conflicting CIDR range. For example:\nFor example:\n\n\u003cbr /\u003e\n\n### Syntax\n\n```\naz network vnet create \\\n --name vnet-name \\\n --resource-group my-hybrid-rg \\\n --address-prefixes vnet-address-range \\\n --subnet-name vnet-subnet-name \\\n --subnet-prefix subnet-address-range\n```\n\n### Example\n\n```\naz network vnet create \\\n --name my-hybrid-rg-vnet \\\n --resource-group my-hybrid-rg \\\n --address-prefixes 120.38.1.0/14 \\\n --subnet-name my-hybrid-rg-vnet-subnet \\\n --subnet-prefix 120.38.1.0/16\n```\n\n\nWhere:\n\n1. \u003cvar translate=\"no\"\u003emy-hybrid-rg\u003c/var\u003e is the name of the virtual network.\n2. \u003cvar translate=\"no\"\u003evnet-address-range\u003c/var\u003e is a list of address blocks reserved for this virtual network in CIDR notation.\n3. \u003cvar translate=\"no\"\u003evnet-subnet-name\u003c/var\u003e is the name of the subnet within the virtual network.\n4. \u003cvar translate=\"no\"\u003esubnet-address-range\u003c/var\u003e is a list of address blocks reserved for this subnet in CIDR notation.\n\nCreate an AKS cluster\n---------------------\n\n| **Note:** Apigee does not support [GKE Sandbox](https://cloud.google.com/kubernetes-engine/docs/concepts/sandbox-pods) or [gVisor](https://github.com/google/gvisor).\n\n\nIn this step, you will create an AKS cluster.\n\n1. Open the [Microsoft® Azure Portal](https://portal.azure.com/).\n2. Click **Kubernetes services**.\n3. Create a cluster with the following minimum configuration settings. The configuration values shown below are for example purposes only. They are generally the default values and are suitable for testing purposes. It is up to you to decide how to configure your cluster to suit your requirements.\n\n\n **Recommended minimum storage**: Review the AKS disk specifications and choose a storage volume size\n based on your IOPs and cost requirements.\n\n4. Click **Review and Create**.\n5. When the cluster creation completes, go to the next step.\n\nSet cluster credentials\n-----------------------\n\n\nAdd the kubernetes cluster credentials for the newly created cluster using the following command\nif not already added. For example: \n\n```\naz aks get-credentials --resource-group my-hybrid-rg --name my-hybrid-aks-cluster\n```\n\nSet the current context\n-----------------------\n\n\nA *context* is a group of access parameters. Each context contains a Kubernetes cluster,\na user and a namespace. The current context is the cluster that is currently the default for\n`kubectl`: all `kubectl` commands run against that cluster.\n\n\nMake sure the current context is set to the cluster you just created. For example: \n\n```\nkubectl config current-context\n my-hybrid-aks-cluster-context\n```\n\n\nIf the context is not set to your cluster as expected, follow these steps to change it:\n\n1. List all the contexts to determine which is the *current* context. In the following example, the context is set to the `my-hybrid-aks-ext01`: \n\n ```\n kubectl config get-contexts\n CURRENT NAME CLUSTER AUTHINFO\n my-hybrid-aks-cluster my-hybrid-aks-cluster clusterUser_my-hybrid-rg2_myhybrid-aks-cluster\n * my-hybrid-aks-ext01 my-hybrid-aks-ext01 clusterUser_my-hybrid-rg_my-hybrid-aks-ext01\n\n ```\n2. If necessary, set the current context to the cluster you just created (the cluster into which you intend to install Apigee hybrid). Assuming the previous `get-contexts` output, if the cluster name you created were `my-hybrid-aks-cluster`, you would switch to the `my-hybrid-aks-cluster` context, as follows: \n\n ```\n kubectl config use-context my-hybrid-aks-cluster\n ```\n\n Where `my-hybrid-aks-cluster` is the name of the cluster context to switch to.\n\nSummary\n-------\n\n\nYou now have a Kubernetes cluster running in AKS. Your shell environment is\nset up, and you are ready to install the Apigee hybrid runtime software\non your local machine.\n[1](/apigee/docs/hybrid/v1.2/install-create-cluster-aks) [(NEXT) Step 2: Install apigeectl](/apigee/docs/hybrid/v1.2/install-download-install-aks) [3](/apigee/docs/hybrid/v1.2/install-copy-overrides-aks) [4](/apigee/docs/hybrid/v1.2/install-apply-hybrid-aks)\n\n\u003cbr /\u003e"]]