Skip to content

Commit 3d1d1ff

Browse files
committed
created new article for connecting to AKS private cluster.
1 parent 908e6f8 commit 3d1d1ff

File tree

2 files changed

+219
-134
lines changed

2 files changed

+219
-134
lines changed

articles/bastion/TOC.yml

Lines changed: 135 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -1,151 +1,152 @@
11
- name: Bastion documentation
22
href: index.yml
33
- name: Overview
4-
items:
5-
- name: What is Azure Bastion?
6-
href: bastion-overview.md
7-
- name: What's new in Bastion?
8-
href: whats-new.md
4+
items:
5+
- name: What is Azure Bastion?
6+
href: bastion-overview.md
7+
- name: What's new in Bastion?
8+
href: whats-new.md
99
- name: Quickstarts & Tutorials
10-
expanded: true
1110
items:
12-
- name: Deploy Bastion Developer
13-
href: quickstart-developer.md
14-
- name: Deploy Bastion - Standard SKU
15-
href: quickstart-host-portal.md
16-
- name: Deploy Bastion - specify settings and SKU
17-
href: tutorial-create-host-portal.md
18-
- name: Deploy Bastion - ARM template
19-
href: quickstart-host-arm-template.md
20-
- name: Deploy Bastion - Terraform
21-
href: quickstart-deploy-terraform.md
11+
- name: Deploy Bastion Developer
12+
href: quickstart-developer.md
13+
- name: Deploy Bastion - Standard SKU
14+
href: quickstart-host-portal.md
15+
- name: Deploy Bastion - specify settings and SKU
16+
href: tutorial-create-host-portal.md
17+
- name: Deploy Bastion - ARM template
18+
href: quickstart-host-arm-template.md
19+
- name: Deploy Bastion - Terraform
20+
href: quickstart-deploy-terraform.md
2221
- name: Concepts
2322
items:
24-
- name: Work remotely
25-
items:
26-
- name: Support for working remotely
27-
href: ../networking/working-remotely-support.md?toc=%2fazure%2fbastion%2ftoc.json
28-
- name: Leverage Bastion for remote working
29-
href: work-remotely-support.md
30-
- name: Bastion FAQ
31-
href: bastion-faq.md
32-
- name: Design architecture
33-
href: design-architecture.md
34-
- name: Bastion configuration settings
35-
href: configuration-settings.md
36-
- name: VM connections and features
37-
href: vm-about.md
38-
- name: Bastion and VNet peering
39-
href: vnet-peering.md
40-
- name: Work with NSGs
41-
href: bastion-nsg.md
42-
- name: Reliability
43-
items:
44-
- name: Availability zones and disaster recovery
45-
href: ../reliability/reliability-bastion.md?toc=/azure/bastion/TOC.json
23+
- name: Work remotely
24+
items:
25+
- name: Support for working remotely
26+
href: ../networking/working-remotely-support.md?toc=%2fazure%2fbastion%2ftoc.json
27+
- name: Leverage Bastion for remote working
28+
href: work-remotely-support.md
29+
- name: Bastion FAQ
30+
href: bastion-faq.md
31+
- name: Design architecture
32+
href: design-architecture.md
33+
- name: Bastion configuration settings
34+
href: configuration-settings.md
35+
- name: VM connections and features
36+
href: vm-about.md
37+
- name: Bastion and VNet peering
38+
href: vnet-peering.md
39+
- name: Work with NSGs
40+
href: bastion-nsg.md
41+
- name: Reliability
42+
items:
43+
- name: Availability zones and disaster recovery
44+
href: ../reliability/reliability-bastion.md?toc=/azure/bastion/TOC.json
4645
- name: Security
4746
items:
48-
- name: Security baseline
49-
href: /security/benchmark/azure/baselines/bastion-security-baseline?toc=/azure/bastion/TOC.json
50-
- name: Azure Security blog
51-
href: https://techcommunity.microsoft.com/category/azure-network-security/blog/azurenetworksecurityblog
47+
- name: Security baseline
48+
href: /security/benchmark/azure/baselines/bastion-security-baseline?toc=/azure/bastion/TOC.json
49+
- name: Azure Security blog
50+
href: https://techcommunity.microsoft.com/category/azure-network-security/blog/azurenetworksecurityblog
5251
- name: How-to guides
5352
items:
54-
- name: Deploy Bastion
55-
items:
56-
- name: Azure portal
57-
href: tutorial-create-host-portal.md
58-
- name: Azure PowerShell
59-
href: bastion-create-host-powershell.md
60-
- name: Azure CLI
61-
href: create-host-cli.md
62-
- name: Developer SKU
63-
href: quickstart-developer-sku.md
64-
- name: Deploy private-only Bastion
65-
href: private-only-deployment.md
66-
- name: Configure Bastion settings
67-
items:
68-
- name: View or upgrade SKU
69-
href: upgrade-sku.md
70-
- name: Configure native client support
71-
href: native-client.md
72-
- name: Configure host scaling
53+
- name: Deploy Bastion
7354
items:
74-
- name: Azure portal
75-
href: configure-host-scaling.md
76-
- name: Azure PowerShell
77-
href: configure-host-scaling-powershell.md
78-
- name: Configure a shareable link
79-
href: shareable-link.md
80-
- name: Configure Kerberos authentication
81-
href: kerberos-authentication-portal.md
82-
- name: Configure session recording
83-
href: session-recording.md
84-
- name: Connect to a virtual machine
85-
items:
86-
- name: Windows VM
55+
- name: Azure portal
56+
href: tutorial-create-host-portal.md
57+
- name: Azure PowerShell
58+
href: bastion-create-host-powershell.md
59+
- name: Azure CLI
60+
href: create-host-cli.md
61+
- name: Developer SKU
62+
href: quickstart-developer-sku.md
63+
- name: Deploy private-only Bastion
64+
href: private-only-deployment.md
65+
- name: Configure Bastion settings
8766
items:
88-
- name: RDP connection
89-
href: bastion-connect-vm-rdp-windows.md
90-
- name: SSH connection
91-
href: bastion-connect-vm-ssh-windows.md
92-
- name: Linux VM
93-
items:
94-
- name: SSH connection
95-
href: bastion-connect-vm-ssh-linux.md
96-
- name: RDP connection
97-
href: bastion-connect-vm-linux-rdp.md
98-
- name: Connect to a VM - native client
99-
items:
100-
- name: Connect from Windows client
101-
href: connect-vm-native-client-windows.md
102-
- name: Connect from Linux client
103-
href: connect-vm-native-client-linux.md
104-
- name: Connect to a VM - IP address
105-
href: connect-ip-address.md
106-
- name: Connect to a VM scale set
107-
href: bastion-connect-vm-scale-set.md
108-
- name: Connect to DevTest Labs VMs
109-
href: ../devtest-labs/enable-browser-connection-lab-virtual-machines.md?toc=%2fazure%2fbastion%2ftoc.json
110-
- name: Work with a VM session
111-
items:
112-
- name: Copy and paste
113-
href: bastion-vm-copy-paste.md
114-
- name: Full screen view
115-
href: bastion-vm-full-screen.md
116-
- name: Transfer files - native client
117-
href: vm-upload-download-native.md
118-
- name: Monitoring
119-
items:
120-
- name: Monitor Azure Bastion
121-
href: monitor-bastion.md
122-
- name: Monitor and manage sessions
123-
href: session-monitoring.md
124-
- name: Troubleshoot
125-
href: troubleshoot.md
67+
- name: View or upgrade SKU
68+
href: upgrade-sku.md
69+
- name: Configure native client support
70+
href: native-client.md
71+
- name: Configure host scaling
72+
items:
73+
- name: Azure portal
74+
href: configure-host-scaling.md
75+
- name: Azure PowerShell
76+
href: configure-host-scaling-powershell.md
77+
- name: Configure a shareable link
78+
href: shareable-link.md
79+
- name: Configure Kerberos authentication
80+
href: kerberos-authentication-portal.md
81+
- name: Configure session recording
82+
href: session-recording.md
83+
- name: Connect to a virtual machine
84+
items:
85+
- name: Windows VM
86+
items:
87+
- name: RDP connection
88+
href: bastion-connect-vm-rdp-windows.md
89+
- name: SSH connection
90+
href: bastion-connect-vm-ssh-windows.md
91+
- name: Linux VM
92+
items:
93+
- name: SSH connection
94+
href: bastion-connect-vm-ssh-linux.md
95+
- name: RDP connection
96+
href: bastion-connect-vm-linux-rdp.md
97+
- name: Connect to a VM - native client
98+
items:
99+
- name: Connect from Windows client
100+
href: connect-vm-native-client-windows.md
101+
- name: Connect from Linux client
102+
href: connect-vm-native-client-linux.md
103+
- name: Connect to a VM - IP address
104+
href: connect-ip-address.md
105+
- name: Connect to a VM scale set
106+
href: bastion-connect-vm-scale-set.md
107+
- name: Connect to DevTest Labs VMs
108+
href: ../devtest-labs/enable-browser-connection-lab-virtual-machines.md?toc=%2fazure%2fbastion%2ftoc.json
109+
- name: Connect to an AKS cluster
110+
href: bastion-connect-to-aks-private-cluster.md
111+
- name: Work with a VM session
112+
items:
113+
- name: Copy and paste
114+
href: bastion-vm-copy-paste.md
115+
- name: Full screen view
116+
href: bastion-vm-full-screen.md
117+
- name: Transfer files - native client
118+
href: vm-upload-download-native.md
119+
- name: Monitoring
120+
items:
121+
- name: Monitor Azure Bastion
122+
href: monitor-bastion.md
123+
- name: Monitor and manage sessions
124+
href: session-monitoring.md
125+
- name: Troubleshoot
126+
href: troubleshoot.md
126127
- name: Reference
127128
items:
128-
- name: Azure PowerShell
129-
href: /powershell/module/az.network/
130-
- name: REST
131-
href: /rest/api/virtualnetwork/bastion-hosts
132-
- name: Azure CLI
133-
href: /cli/azure/network/bastion
134-
- name: Bastion monitoring data reference
135-
href: monitor-bastion-reference.md
129+
- name: Azure PowerShell
130+
href: /powershell/module/az.network/
131+
- name: REST
132+
href: /rest/api/virtualnetwork/bastion-hosts
133+
- name: Azure CLI
134+
href: /cli/azure/network/bastion
135+
- name: Bastion monitoring data reference
136+
href: monitor-bastion-reference.md
136137
- name: Resources
137138
items:
138-
- name: Azure Networking blog
139-
href: https://techcommunity.microsoft.com/category/azure/blog/azurenetworkingblog
140-
- name: Microsoft Q&A question page - Azure Bastion
141-
href: /answers/tags/119/azure-bastion
142-
- name: Networking feedback
143-
href: https://feedback.azure.com/d365community/forum/8ae9bf04-8326-ec11-b6e6-000d3a4f0789
144-
- name: Pricing
145-
href: https://azure.microsoft.com/pricing/details/azure-bastion/
146-
- name: Subscription and service limits
147-
href: ../azure-resource-manager/management/azure-subscription-service-limits.md?toc=/azure/bastion/toc.json
148-
- name: SLA
149-
href: https://azure.microsoft.com/support/legal/sla
150-
- name: Preview SLA
151-
href: https://azure.microsoft.com/support/legal/preview-supplemental-terms
139+
- name: Azure Networking blog
140+
href: https://techcommunity.microsoft.com/category/azure/blog/azurenetworkingblog
141+
- name: Microsoft Q&A question page - Azure Bastion
142+
href: /answers/tags/119/azure-bastion
143+
- name: Networking feedback
144+
href: https://feedback.azure.com/d365community/forum/8ae9bf04-8326-ec11-b6e6-000d3a4f0789
145+
- name: Pricing
146+
href: https://azure.microsoft.com/pricing/details/azure-bastion/
147+
- name: Subscription and service limits
148+
href: ../azure-resource-manager/management/azure-subscription-service-limits.md?toc=/azure/bastion/toc.json
149+
- name: SLA
150+
href: https://azure.microsoft.com/support/legal/sla
151+
- name: Preview SLA
152+
href: https://azure.microsoft.com/support/legal/preview-supplemental-terms
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: 'Connect to AKS Private Cluster Using Azure Bastion (Preview)'
3+
titleSuffix: Azure Bastion
4+
description: Learn how to securely connect to Azure Kubernetes Service (AKS) private clusters using Azure Bastion's native client tunneling. Step-by-step guide with prerequisites and commands to establish secure access without exposing endpoints.
5+
author: abell
6+
ms.service: azure-bastion
7+
ms.topic: how-to
8+
ms.date: 07/29/2025
9+
ms.author: abell
10+
11+
# Customer intent: "As a cloud administrator, I want to establish a secure connection to an AKS private cluster using Azure Bastion, so that I can access my Kubernetes resources without exposing them to the public internet."
12+
---
13+
14+
# Connect to AKS Private Cluster Using Azure Bastion (Preview)
15+
16+
This article shows you how to connect to Azure Kubernetes Service (AKS) private clusters securely using Azure Bastion's native client tunneling feature. You learn to establish secure connections to AKS private clusters in Azure virtual networks without exposing endpoints to the public internet, eliminating the need for additional client software or agents.
17+
18+
Azure Bastion provides secure connectivity to all resources in the virtual network in which it's provisioned. Using Azure Bastion protects your AKS clusters from exposing endpoints to the outside world, while still providing secure access. For more information, see [What is Azure Bastion?](bastion-overview.md) For more information about AKS private clusters, see [Create a private Azure Kubernetes Service cluster](../aks/private-clusters.md).
19+
20+
## Prerequisites
21+
22+
Before you begin, verify that you've met the following criteria:
23+
24+
25+
* A virtual network with the Bastion host already installed.
26+
27+
* Make sure that you have set up an Azure Bastion host for the virtual network in which the AKS cluster is located. Once the Bastion service is provisioned and deployed in your virtual network, you can use it to connect to any AKS private cluster in the virtual network.
28+
* To set up an Azure Bastion host, see [Quickstart: Deploy Bastion with default settings](quickstart-host-portal.md).
29+
* The Bastion must be Standard or Premium SKU and have native client support enabled under configuration settings.
30+
31+
* An AKS cluster in the virtual network or any reachable virtual network.
32+
33+
## Required roles
34+
35+
36+
* Reader role on the AKS cluster.
37+
* Reader role on the Azure Bastion resource.
38+
* Reader role on the virtual network of the target AKS cluster (if the Bastion deployment is in a peered virtual network).
39+
40+
## Additional requirements
41+
42+
* If you're using Bastion to connect to a public cluster with API server authorized IP ranges, you need to add the public IP address of the Bastion to the list of authorized IP ranges of your cluster.
43+
44+
## Limitations
45+
46+
This integration with AKS is currently in preview and doesn't support AKS clusters with public FQDN disabled.
47+
48+
## Connect
49+
50+
To connect to your AKS private cluster:
51+
52+
1. Sign in to your Azure account using `az login` via CLI. If you have more than one subscription, you can view them using `az account list` and select the subscription containing your Bastion resource using:
53+
54+
```pwsh
55+
az account set --subscription <subscription ID>
56+
```
57+
58+
1. Retrieve credentials to your AKS private cluster:
59+
60+
```pwsh
61+
az aks get-credentials --admin --name <AKSClusterName> --resource-group <ResourceGroupName>
62+
```
63+
64+
1. Open the tunnel to your target AKS Cluster with either of the following commands:
65+
66+
```pwsh
67+
az aks bastion --name <aksClusterName> --resource-group <aksClusterResourceGroup> --admin --bastion <bastionResourceId>
68+
```
69+
70+
Or:
71+
72+
```pwsh
73+
az network bastion tunnel --name <BastionName> --resource-group <ResourceGroupName> --target-resource-id <AKSClusterID> --resource-port 443 --port <LocalMachinePort>
74+
```
75+
76+
1. If you're using the az network command, open a new command line to connect to the AKS cluster via the Bastion tunnel. Otherwise, you should be all set to interact with your AKS cluster.
77+
78+
```pwsh
79+
kubectl get pods --server=https://localhost:<LocalMachinePort>
80+
```
81+
82+
## Next steps
83+
84+
Read the [Bastion FAQ](bastion-faq.md) for more connection information.

0 commit comments

Comments
 (0)