本文說明如何使用 Azure Bastion 的原生用戶端通道功能,安全地連線到 Azure Kubernetes Service (AKS) 私人叢集。 您將了解如何能不向公用網際網路公開端點,就在 Azure 虛擬網路中建立安全的 AKS 私人叢集連線,從而不需要使用額外的用戶端軟體或代理程式。
Azure Bastion 可為佈建所在虛擬網路中的所有資源提供安全連線。 使用 Azure Bastion 可保護您的 AKS 叢集,使其不會對外公開端點,同時仍提供安全存取。 如需詳細資訊,請參閱什麼是 Azure Bastion? (部分內容可能是機器或 AI 翻譯) 如需 AKS 私人叢集的詳細資訊,請參閱建立私人 Azure Kubernetes Service 叢集。
先決條件
開始之前,請驗證您已符合下列準則:
已安裝 Bastion 主機的虛擬網路。
- 確定您已為 AKS 叢集所在的虛擬網路設定 Azure Bastion 主機。 在虛擬網路中佈建及部署 Bastion 服務之後,您就可以使用該服務連線到此虛擬網路中的任何 AKS 私人叢集。
- 若要設定 Azure Bastion 主機,請參閱快速入門:使用預設設定部署 Bastion (部分內容可能是機器或 AI 翻譯)。
- Bastion 主機必須是標準或進階 SKU,並已在組態設定下啟用原生用戶端支援。
該虛擬網路或任何可連線到的虛擬網路中的 AKS 叢集。
所需角色
- AKS 叢集上的讀者角色。
- Azure Bastion 資源上的讀者角色。
- 目標 AKS 叢集之虛擬網路上的讀者角色 (如果 Bastion 部署位於對等互連的虛擬網路中)。
其他需求
- 如果您使用 Bastion 連線到具有 API 伺服器授權 IP 範圍的公用叢集,您必須將 Bastion 的公用 IP 位址新增至叢集的授權 IP 範圍清單。
連線
若要連線到您的 AKS 私人叢集:
透過 CLI 使用
az login登入您的 Azure 帳戶。 如果有多個訂用帳戶,您可以使用az account list檢視這些訂用帳戶,並使用以下命令選取內含 Bastion 資源的訂用帳戶:az account set --subscription <subscription ID>擷取 AKS 私人叢集的認證:
az aks get-credentials --admin --name <AKSClusterName> --resource-group <ResourceGroupName>使用下列任一命令,開啟目標 AKS 叢集的通道:
az aks bastion --name <aksClusterName> --resource-group <aksClusterResourceGroup> --admin --bastion <bastionResourceId>變更新的暫時性 KUBECONFIG 以指向新的 Bastion 通道:
export BASTION_PORT=$(ps aux | sed -n 's/.*--port \([0-9]*\).*/\1/p' | head -1) sed -i "s|server: https://.*|server: https://localhost:${BASTION_PORT}|" $KUBECONFIG您現在應該已準備好與 AKS 叢集互動了。
kubectl get nodes
後續步驟
如需更多連線資訊,請閱讀 Bastion 常見問題集。