Azure &引用;授权IP范围应在Kubernetes服务上定义”;阻塞部署管道
Azure Advisor中的一个安全警告是: 应在Kubernetes服务上定义授权IP范围 通过仅向特定范围内的IP地址授予API访问权限,限制对Kubernetes服务管理API的访问。建议限制对授权IP范围的访问,以确保只有来自允许网络的应用程序才能访问群集 您可以在此处阅读所有相关信息: 更新现有AKS群集的命令如下:Azure &引用;授权IP范围应在Kubernetes服务上定义”;阻塞部署管道,azure,kubernetes,azure-devops,azure-pipelines,Azure,Kubernetes,Azure Devops,Azure Pipelines,Azure Advisor中的一个安全警告是: 应在Kubernetes服务上定义授权IP范围 通过仅向特定范围内的IP地址授予API访问权限,限制对Kubernetes服务管理API的访问。建议限制对授权IP范围的访问,以确保只有来自允许网络的应用程序才能访问群集 您可以在此处阅读所有相关信息: 更新现有AKS群集的命令如下: az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--api-server-authorized-ip-ranges 73.140.245.0/24
或删除任何:
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--api-server-authorized-ip-ranges ""
无论如何,启用此选项后,我的部署管道超时,因为它无法连接到AKS。我添加了一个IP地址,当它说它无法连接并且仍然无法连接时会弹出
因此,基本上,当我需要运行管道时,我会删除IP范围,然后在完成后将其重新添加。显然,这不是一种理想的处理方式
我应该如何解决这个问题?Azure是否有一种更优雅的方式将AKS中管道中的IP白名单列出来?此处列出了您需要打开的IP范围:
我没有找到您在该列表中添加的IP地址。设拉子让我朝着正确的方向前进 但是,唯一相关的部分是本部分: 与此相关的是,我的生成和部署代理由Microsoft托管。与Shiraz相关的文章主要涉及内部Azure DevOps: Azure DevOps服务| Azure DevOps服务器2020 | Azure DevOps服务器2019 | TFS 2018-TFS 2015 无论如何,这是Microsoft托管代理的相关文档: 基本上有两种选择:
AzureCloud.{region}
部分下添加您所在地理区域的每个IP。因此,如果您位于CentralUS
区域,仅添加该区域是不够的。您必须添加美国的所有区域,因为在使用构建和部署代理时,它可能会给我们带来不同的区域
json
文件,并收集所有相关IP。文档使用的示例如下:
使用Newtonsoft.Json.Linq;
使用制度;
使用System.Collections.Generic;
使用System.IO;
使用System.Linq;
命名空间WeeklyFileIPRanges
{
班级计划
{
//本地保存的每周文件的路径
常量字符串weeklyFilePath=@“C:\MyPath\ServiceTags\u Public\u 20200504.json”;
静态void Main(字符串[]参数)
{
//美国地理有以下区域:
//美国中部,美国东部2,美国东部,美国中北部,
//美国中南部、美国中西部、美国西部、美国西部2
List USGeographyRegions=新列表
{
“centralus”,
“伊斯图”,
“东方2号”,
“诺森特鲁斯”,
“southcentralus”,
“westcentralus”,
“韦斯特斯”,
“westus2”
};
//加载每周文件
JObject weeklyFile=JObject.Parse(File.ReadAllText(weeklyFilePath));
JArray值=(JArray)weeklyFile[“值”];
foreach(USGeographyRegions中的字符串区域)
{
字符串azureCloudRegion=$“AzureCloud.{region}”;
控制台写入线(azureCloudRegion);
变量ipList=
从v值
其中(字符串)v[“name”]==azureCloudRegion
选择v[“属性”][“地址前缀”];
foreach(ipList.Children()中的var ip)
{
控制台写入线(ip);
}
}
}
}
}
然后,要添加IP,您可以使用以下方法:
az aks update -g <resource_group> -n <aks_deployment_name> --api-server-authorized-ip-ranges [every,single,ip,address,for,the,geographic,area]
az-aks更新-g-n太棒了!谢谢你在这里分享你的解决方案,你可以接受它作为答案,这样它可以帮助其他社区成员谁得到同样的问题,我们可以存档这个线程,谢谢。
az aks update -g <resource_group> -n <aks_deployment_name> --api-server-authorized-ip-ranges [every,single,ip,address,for,the,geographic,area]