> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure AKS

> Provides installation and configuration of Apinizer on Microsoft AKS (Azure Kubernetes Service). Provides AKS cluster installation, resource creation and Apinizer installation steps on AKS. Includes external MongoDB and Elasticsearch server configurations.

<Note>
  In the first sections of the content, step by step from the beginning; AKS installation, resource creation, usage and external MongoDb and ElasticSearch server steps are described.

  If there is a ready cluster on AKS, you can start directly from [step 5 Installing Apinizer on AKS](#installing-apinizer-on-aks).
</Note>

## 1. Introduction

### What is Microsoft AKS (Azure Kubernetes Service)?

Azure is a complete cloud platform that facilitates new application development processes by hosting existing applications.

Azure Kubernetes Service (AKS) enables creating, configuring and managing a pre-configured virtual machine cluster to run containerized applications.

When you deploy an AKS cluster, Master nodes and all other kubernetes nodes are deployed and configured on your behalf.

## 2. Installing and Configuring AKS, AKS CLI and kubectl

### AKS Cluster Installation

Since Azure contains a structure targeting ease of use, installation can be done easily by proceeding with default settings if no special setting is requested.

<Frame caption="AKS Cluster Creation">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/01-aks-cluster-create.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=6fb77c6028269128596449d070336218" alt="AKS Cluster Creation" width="800" data-path="images/setup/bulut/microsoft-aks/01-aks-cluster-create.png" />
</Frame>

Click the links selected in the image below in order to create a Kubernetes cluster.

<Frame caption="AKS Cluster Creation Links">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/02-aks-cluster-links.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=6dc5b98a663bbd7c5a7c8748d73d067d" alt="AKS Cluster Creation Links" width="800" data-path="images/setup/bulut/microsoft-aks/02-aks-cluster-links.png" />
</Frame>

A new resource group (Resource group) can be created if there is no existing selection for the name to be given to the cluster to be created.

Kubernetes version 1.18 or 1.20 major type can be selected.

<Frame caption="AKS Cluster Configuration">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/03-aks-cluster-config.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=353f4dbba060cf39a0e4211e3676b034" alt="AKS Cluster Configuration" width="600" data-path="images/setup/bulut/microsoft-aks/03-aks-cluster-config.jpg" />
</Frame>

#### Adding Node Pool

Node Pool (Node Pool) contains settings related to nodes within the cluster. You can select an existing node definition or create a new definition.

<Frame caption="Adding Node Pool">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/04-node-pool.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=38fb8a7145be7b679b686bfa17c29e59" alt="Adding Node Pool" width="600" data-path="images/setup/bulut/microsoft-aks/04-node-pool.jpg" />
</Frame>

The screenshot containing the name to be given to the node pool and the selectable settings is below:

<Frame caption="Node Pool Configuration">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/05-node-pool-config.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=22be6ed365958617eb2a8c3c60f9492f" alt="Node Pool Configuration" width="600" data-path="images/setup/bulut/microsoft-aks/05-node-pool-config.jpg" />
</Frame>

#### Authentication Settings

In the Authentication section, you can set how you want to restrict your cluster.

<Frame caption="Authentication Settings">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/06-authentication.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=d49b0504146b18c21f5bfd1ee2636e8c" alt="Authentication Settings" width="600" data-path="images/setup/bulut/microsoft-aks/06-authentication.jpg" />
</Frame>

#### Networking Settings

The Networking tab includes whether you will leave network settings to Kubenet or Azure CNI, which draft you want your DNS name in, and security and network settings related to access.

<Frame caption="Networking Settings">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/07-networking.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=8a99d150534cad7932b47449e1e2428a" alt="Networking Settings" width="600" data-path="images/setup/bulut/microsoft-aks/07-networking.jpg" />
</Frame>

#### Integration Settings

In the Integrations tab, your decisions regarding some useful integrations provided by Azure are set.

<Frame caption="Integration Settings">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/08-integrations.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=69ef45c99a69abdf432eefcd8d00dd97" alt="Integration Settings" width="600" data-path="images/setup/bulut/microsoft-aks/08-integrations.jpg" />
</Frame>

In the final step, your settings go through a review mechanism and are presented for your approval.

<Frame caption="AKS Cluster Review and Approval">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/09-review.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=f993a1e053b7900623e8a625e69f97d6" alt="AKS Cluster Review and Approval" width="600" data-path="images/setup/bulut/microsoft-aks/09-review.jpg" />
</Frame>

When you complete the process, you will encounter a screen like below.

<Frame caption="AKS Cluster Ready">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/10-cluster-ready.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=02c11d83c1ee65171ce4186f615ef43c" alt="AKS Cluster Ready" width="1000" data-path="images/setup/bulut/microsoft-aks/10-cluster-ready.jpg" />
</Frame>

After creating your cluster, the AKS CLI and kubernetes-related system to be installed on your computer can be checked.

## 3. AKS CLI Installation

Azure CLI can be installed on Windows, MacOS and Linux environments. It can also be run in a Docker container.

The version of Azure CLI suitable for the operating system can be downloaded and installed from: [Azure CLI Installation Guide](https://docs.microsoft.com/tr-tr/cli/azure/install-azure-cli)

Then connect to your client account on your computer with the following command and the subsequent process.

```bash theme={null}
az login
```

<Steps>
  <Step title="Signing in with Azure CLI">
    CLI can open your default browser and load an Azure sign-in page.

    Otherwise, open a browser page and go to: [https://aka.ms/devicelogin](https://aka.ms/devicelogin). Enter the authorization code displayed in your terminal.

    If there is no web browser or the web browser cannot be opened, use the device code flow with the **az login --use-device-code** command.
  </Step>

  <Step title="Signing in browser">
    Sign in to the browser with your account credentials.
  </Step>
</Steps>

Then the Kubernetes command line tool kubectl should be downloaded and installed.

```bash theme={null}
az aks install-cli
```

Access credentials should be obtained for a managed Kubernetes cluster.

By default, credentials are merged in the **.kube/config** file, so kubectl can use them.

You can configure the default group using the name of the managed cluster and the name of the resource group:

```bash theme={null}
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
```

Whether access is provided correctly is checked with the following command.

```bash theme={null}
kubectl get nodes
```

## 4. Installing and Setting Up Cloud MongoDb and ElasticSearch

As stated in the Installation and Configuration document, **Replicaset MongoDB** and **Elasticsearch** are needed. These can be installed on any virtual server, used as cloud, or if they already exist, proceed to the next step.

In this section, cloud systems in the applications' own environments are used.

* For MongoDB, go to [MongoDB Atlas](https://account.mongodb.com/account/register) and create an account, and it can be used free of charge up to a limited DB size. Apinizer does not need a large database because it only keeps configuration definitions in MongoDB.

* For Elasticsearch, Apinizer can be defined by using an **elastic service** in the **cloud** environment through the [Elastic Cloud](https://cloud.elastic.co/registration) address.

### MongoDB Cloud Settings

After creating an account from MongoDB's own site, create a database with the desired name and edit the related settings.

Click the **Add IP Address** button from the **Network Access** menu for access permission.

<Frame caption="MongoDB Network Access">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/11-mongodb-network-access.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=235be6bca170984c4b6f9d8c5a4ffa74" alt="MongoDB Network Access" width="800" data-path="images/setup/bulut/microsoft-aks/11-mongodb-network-access.png" />
</Frame>

Then fill in the fields so that access is open from anywhere, such as the desired IPs or the **Allow Access From Anywhere** option selected in the image below.

<Frame caption="MongoDB IP Access Permission">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/12-mongodb-allow-access.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=58a0f57a0591c57024bb259542657bc3" alt="MongoDB IP Access Permission" width="600" data-path="images/setup/bulut/microsoft-aks/12-mongodb-allow-access.png" />
</Frame>

### Getting MongoDB connection string:

To get the **connection string (Connection String)** that will provide the connection to the created database, return to the **Databases** page and press the **Connect** link.

From here, you can get the necessary information to connect to any MongoDb database editor yourself, or press the **Connect your application** button to connect the Apinizer application.

<Frame caption="MongoDB Connection Settings">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/13-mongodb-connect.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=57308c51831b52fa0ed68bdeb61fa0f7" alt="MongoDB Connection Settings" width="1000" data-path="images/setup/bulut/microsoft-aks/13-mongodb-connect.png" />
</Frame>

When **Java** is selected as **Driver** and **"3.4"** or higher is selected as **Version** on the opened screen, a text appears at the bottom of the screen.

<Frame caption="MongoDB Connection String">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/14-mongodb-connection-string.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=8574bed6afa0e0e92037ab4043c63977" alt="MongoDB Connection String" width="600" data-path="images/setup/bulut/microsoft-aks/14-mongodb-connection-string.png" />
</Frame>

This text is the connection definition that you will write to the **apinizer-deployment.yaml** file in the following sections to connect Apinizer to MongoDB.

## 5. Installing Apinizer on AKS

What is described under this heading describes the definition of opening Apinizer as a service, different from Apinizer installation documents.

### Apinizer Management Console installation

A **.yaml** file should be created for Apinizer and loaded to AKS cluster.

Example **apinizer-deployment.yaml** file settings are below:

```yaml theme={null}
apiVersion: v1
kind: Namespace
metadata:
  name: apinizer
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: manager
  namespace: apinizer
spec:
  replicas: 1
  selector:
    matchLabels:
      app: manager
      version: 'v1'
  template:
    metadata:
      labels:
        app: manager
        version: 'v1'
    spec:
      containers:
      - name: manager
        image: apinizercloud/manager:2023.01.1
        imagePullPolicy: IfNotPresent
        env:
        - name: SPRING_PROFILES_ACTIVE
          value: prod
        - name: SPRING_DATA_MONGODB_DATABASE
          value: apinizerdb-aws
        - name: SPRING_DATA_MONGODB_URI
          value: 'mongodb://apinizer:<PASSWORD>@apinizercluster-shard-00-00.wp2bb.mongodb.net:25080,apinizercluster-shard-00-01.wp2bb.mongodb.net:25080,apinizercluster-shard-00-02.wp2bb.mongodb.net:25080/ApinizerDb?ssl=true&replicaSet=atlas-dvz21z-shard-0&authSource=admin&retryWrites=true&w=majority'
        - name: JAVA_OPTS
          value: ' -Xmx1400m -Xms1400m'
        resources:
          requests:
            memory: '2Gi'
            cpu: '1'
          limits:
            memory: '2Gi'
            cpu: '1'
        ports:
        - name: http
          containerPort: 8080
```

```powershell theme={null}
kubectl apply -f apinizer-deployment.yaml
kubectl get pods -n apinizer
```

After Apinizer Management Console is loaded to AKS environment, a database named **apinizerdb** will be created in MongoDB database. The license key provided to you by Apinizer should be entered into the **general\_settings** table.

The following permissions should be defined for Apinizer Management Console to access and manage Kubernetes resources.

Example **service.yaml** file settings are below:

```yaml theme={null}
apiVersion: v1
kind: Namespace
metadata:
  name: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
```

Example **adminuser.yaml** file settings are below:

```yaml theme={null}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system
```

```powershell theme={null}
kubectl apply -f service.yaml
kubectl apply -f adminuser.yaml
kubectl create clusterrolebinding permissive-binding --clusterrole=cluster-admin --user=admin --user=kubelet --group=system:serviceaccounts
kubectl create clusterrolebinding apinizer -n kube-system --clusterrole=cluster-admin --serviceaccount=kube-system:apinizer
```

### Creating Access Service for Apinizer Management Console

After the installation is completed, a service is needed to access Apinizer Management Console.

A service is created by following the steps below. It may take a minute or two to get the external IP sometimes.

```powershell theme={null}
kubectl expose -n apinizer deployment.apps/manager --port=80 --target-port=8080 --name=apinizer-console-service --type=LoadBalancer
kubectl get svc -n apinizer
```

## 6. Apinizer Management Console Login

Login is made by writing the service access address in step 2 to the browser's address bar.

You can contact Apinizer support team for default username password.

The Apinizer Management Console Address created according to these settings: `http://<EXTERNAL-IP>/`

<Frame caption="Apinizer Management Console Login">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/15-apinizer-console-login.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=df8d7e6d617955057f292c230ff0cc50" alt="Apinizer Management Console Login" width="600" data-path="images/setup/bulut/microsoft-aks/15-apinizer-console-login.png" />
</Frame>

## 7. Apinizer Configurations

### Defining Log Servers

Apinizer stores API traffic and metric information in Elasticsearch database. To continue the installation process, Elasticsearch cluster definitions need to be made.

Go to **Administration → Server Management → Elasticsearch Clusters** page from the menu in Apinizer Management Console application.

**The image containing Elasticsearch cluster definition settings is given below:**

<Frame caption="Elasticsearch Cluster Definition">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/16-elasticsearch-cluster.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=bb564f7f5ca6b7fb83aee1b5714431ab" alt="Elasticsearch Cluster Definition" width="800" data-path="images/setup/bulut/microsoft-aks/16-elasticsearch-cluster.png" />
</Frame>

**Test Connection** button can be used to test Elasticsearch server connection with Apinizer.

<Frame caption="Elasticsearch Connection Test">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/17-elasticsearch-test.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=10330e8cc3683bcd97c0111a6b1b7742" alt="Elasticsearch Connection Test" width="600" data-path="images/setup/bulut/microsoft-aks/17-elasticsearch-test.png" />
</Frame>

### Environment Definition

At least one environment needs to be loaded (**deploy**) for an **API Proxy** to be accessible. Apinizer also allows an API Proxy to be loaded to multiple environments.

Go to **Administration → Server Management → Gateway Environment** page from the menu in Apinizer Management Console application.

**The image containing environment definition settings is given below:**

<Frame caption="Environment Definition">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/18-environment-create.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=09d0aeb4be27b3b6beaf34df5cd19350" alt="Environment Definition" width="800" data-path="images/setup/bulut/microsoft-aks/18-environment-create.png" />
</Frame>

The following values are the default values of the servers. They can be changed according to your cluster resources.

<Frame caption="Environment Configuration">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/19-environment-config.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=63a4cf4494bd514df65683648fa38d94" alt="Environment Configuration" width="800" data-path="images/setup/bulut/microsoft-aks/19-environment-config.png" />
</Frame>

The environment definition process is completed by clicking the **Create Environment** button.

When environments are listed, the **Prod** type environment is deployed to AKS by clicking the **Unpublished** button showing the status of the relevant environment on the screen.

<Frame caption="Environment Publishing">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/20-environment-publish.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=78bec82af23f0b80b88488adcf4fabf9" alt="Environment Publishing" width="600" data-path="images/setup/bulut/microsoft-aks/20-environment-publish.png" />
</Frame>

The environment loading process will be loaded to AKS in approximately 3 minutes.

For detailed information about environment definition and publishing operations, see [Environment documentation](/en/concepts/core-concepts/what-is-environment).

### Opening Environment as Service

Finally, a service needs to be created to access APIs that will run in the environment we published.

```powershell theme={null}
kubectl expose -n prod deployment.apps/worker --port=80 --target-port=8091 --name=apinizer-worker-service --type=LoadBalancer
kubectl get svc -n prod
```

The **LoadBalancer (EXTERNAL-IP)** value produced by AKS should be assigned as the **Access URL** value of the defined **Prod** environment.

First, click the edit button in the **Environment Info** table of the page where the environment is edited.

<Frame caption="Environment Editing">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/21-environment-edit.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=1075b99c9d1777ad1543c007e82f16a0" alt="Environment Editing" width="1000" data-path="images/setup/bulut/microsoft-aks/21-environment-edit.png" />
</Frame>

Then, click the edit button and change the Access URL information of the environment.

<Frame caption="Environment Access URL">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/22-environment-access-url.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=b983b960a61ba07a90ade7b569d3e300" alt="Environment Access URL" width="400" data-path="images/setup/bulut/microsoft-aks/22-environment-access-url.png" />
</Frame>

## 8. Publishing and Testing the First API in Apinizer

In the last step, opening an API to Apinizer as an API Proxy through a sample API definition file is described.

The project where the API Proxy will be registered is selected from the navbar menu.

<Frame caption="API Proxy Project Selection">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/23-api-proxy-project.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=712a2a8f9c6d75e525b1420676ef41eb" alt="API Proxy Project Selection" width="600" data-path="images/setup/bulut/microsoft-aks/23-api-proxy-project.png" />
</Frame>

Go to **Development → API Proxies** page from the project menu in Apinizer Management Console application.

Click the **Proxy** button to define a new API Proxy.

<Frame caption="API Proxies Page">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/24-api-proxies.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=30d2ec41aedf7f29ba73bae8902f6c3d" alt="API Proxies Page" width="200" data-path="images/setup/bulut/microsoft-aks/24-api-proxies.png" />
</Frame>

Select the source from which the API Proxy will be created with the selected link in the image below.

<Frame caption="API Source Selection">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/25-api-source.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=baf28b301078e65d3d20b1e8b05dc8e4" alt="API Source Selection" width="1000" data-path="images/setup/bulut/microsoft-aks/25-api-source.png" />
</Frame>

Enter the link of the API Definition file and **Parse** it.

<Frame caption="API Parse">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/26-api-parse.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=6f9dda2d548803dea9f5479d962e8cee" alt="API Parse" width="1000" data-path="images/setup/bulut/microsoft-aks/26-api-parse.png" />
</Frame>

Enter API Proxy information and click the **Save** button.

<Frame caption="API Proxy Saving">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/27-api-save.jpg?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=ca31972c053ed305fabd4d39f54b48f3" alt="API Proxy Saving" width="800" data-path="images/setup/bulut/microsoft-aks/27-api-save.jpg" />
</Frame>

The **Deploy** button selected in the image below is used to load (deploy) the API Proxy.

<Frame caption="API Proxy Deploy">
  <img src="https://mintcdn.com/apinizer/n7lg0UCnwxDLvPwK/images/setup/bulut/microsoft-aks/28-api-deploy.png?fit=max&auto=format&n=n7lg0UCnwxDLvPwK&q=85&s=b350de417ba3c3599d6258991a9f50d7" alt="API Proxy Deploy" width="600" data-path="images/setup/bulut/microsoft-aks/28-api-deploy.png" />
</Frame>

The loading process is confirmed.

<Frame caption="API Deploy Confirmation">
  <img src="https://mintcdn.com/apinizer/rfZaKpIysRC7U9dY/images/setup/bulut/microsoft-aks/29-api-deploy-confirm.png?fit=max&auto=format&n=rfZaKpIysRC7U9dY&q=85&s=d49b6e519b15ea08de002af47eea6e96" alt="API Deploy Confirmation" width="400" data-path="images/setup/bulut/microsoft-aks/29-api-deploy-confirm.png" />
</Frame>

Come to the endpoint (endpoint) you want to test from the **Develop** tab of the API Proxy and click the **Test Endpoint** button.

<Frame caption="API Test Endpoint">
  <img src="https://mintcdn.com/apinizer/rfZaKpIysRC7U9dY/images/setup/bulut/microsoft-aks/30-api-test-endpoint.png?fit=max&auto=format&n=rfZaKpIysRC7U9dY&q=85&s=0b33b6d83301fd2da3d468565ac9234a" alt="API Test Endpoint" width="800" data-path="images/setup/bulut/microsoft-aks/30-api-test-endpoint.png" />
</Frame>

The image containing the test dialog is given below.

<Frame caption="API Test Dialog">
  <img src="https://mintcdn.com/apinizer/rfZaKpIysRC7U9dY/images/setup/bulut/microsoft-aks/31-api-test-dialog.png?fit=max&auto=format&n=rfZaKpIysRC7U9dY&q=85&s=cf81761e79b8a829c821d25786ac1e43" alt="API Test Dialog" width="800" data-path="images/setup/bulut/microsoft-aks/31-api-test-dialog.png" />
</Frame>

For detailed information about API Proxy, see [Developer Guide](/en/develop/quick-start).

For detailed information about Test Console, see [Test Console documentation](/en/develop/test-debug-tools/test-console).
