适用于:Azure Local 上的 AKS
在 AKS Arc 群集的生命周期内,可能需要直接访问群集节点进行维护、日志收集或故障排除操作。 出于安全考虑,必须使用安全外壳协议 (SSH) 连接来访问 Windows 或 Linux 工作器节点。 使用节点的 IP 地址登录。
本文介绍如何使用 SSH 连接到 Windows 和 Linux 节点。
先决条件
安装 Kubernetes CLI
可以使用 Kubernetes CLI kubectl 连接到 Kubernetes 群集。 如果使用 Azure Cloud Shell,则已安装 kubectl 。 如果在本地运行命令,可以使用 Azure CLI 或 Azure PowerShell 安装 kubectl。
使用以下命令在本地安装
az aks install-cli:az aks install-cli
使用 SSH 连接到工作器节点
要使用指定的权限访问 Kubernetes 群,集必须使用 az aksarc get-credentials 命令检索基于证书的管理员 kubeconfig 文件。 有关详细信息,请参阅检索基于证书的管理员 kubeconfig:
az aksarc get-credentials --resource-group $<resource_group_name> --name $<aks_cluster_name> --admin运行 kubectl get 以获取节点的 IP 地址并记录其 IP 值,以便使用 SSH 登录到 Windows 或 Linux 工作节点:
kubectl --kubeconfig /path/to/aks-cluster-kubeconfig get nodes -o wide运行
ssh以连接到工作器节点:注意
必须将正确的位置传递给 SSH 私钥。 以下示例使用默认位置 ~/.ssh/id_rsa;但如果你请求了其他路径,则可能需要更改此位置。 若要更改位置,请参阅配置 SSH 密钥,以在创建 AKS Arc 群集时指定
--ssh-key-value参数。对于 Linux 工作器节点,运行以下命令:
ssh -i $env:USERPROFILE\.ssh\id_rsa clouduser@<IP address of the node>对于 Windows 工作器节点,运行以下命令:
ssh -i $env:USERPROFILE\.ssh\id_rsa Administrator@<IP address of the node>
如果遇到 SSH 登录问题,请验证 IP 地址是否包含在 --ssh-auth-ip 列表中。 若要检查此列表,请运行 az aksarc show --name "$<aks_cluster_name>" --resource-group "$<resource_group_name>" 并在 authorizedIpRanges 下查找 clusterVmAccessProfile。
后续步骤
- 使用 SSH 密钥获取按需日志进行故障排除
- 为 AKS Arc 群集配置 SSH 密钥
- 通过遵循 Azure Arc 启用的 AKS 安全手册中的指导,以其他方式来帮助保护群集。