培训
模块
配置 Azure Kubernetes 服务群集 - Training
使用 Azure Policy 对 Kubernetes 群集大规模强制实施策略和安全措施。 Azure Policy 可确保群集在整个组织中是安全、合规和一致的。
认证
Microsoft Certified: Azure Network Engineer Associate - Certifications
展示 Azure 网络基础结构、负载均衡流量、网络路由等的设计、实现和维护。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
kube-proxy
(预览版)kube-proxy
是 Kubernetes 的一个组件,用于处理群集中服务的流量路由。 上游 kube-proxy
有两个后端可用于第 3/4 层负载均衡:iptables 和 IPVS。
有关详细信息,请参阅 Kubernetes 关于 kube-proxy 的文档。
备注
如果需要,可以禁用 AKS 托管的 kube-proxy
DaemonSet 以支持自带 CNI。
重要
AKS 预览功能是可选择启用的自助功能。 预览功能是“按现状”和“按可用”提供的,不包括在服务级别协议和有限保证中。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:
aks-preview
扩展。 请参阅安装 aks-preview
Azure CLI 扩展。KubeProxyConfigurationPreview
功能标志。 请参阅注册 KubeProxyConfigurationPreview
功能标志。使用 az extension add
命令安装 aks-preview
扩展。
az extension add --name aks-preview
使用 az extension update
命令更新到扩展的最新版本。
az extension update --name aks-preview
使用 az feature register
命令注册 KubeProxyConfigurationPreview
功能标志。
az feature register --namespace "Microsoft.ContainerService" --name "KubeProxyConfigurationPreview"
状态显示为“已注册”需要几分钟时间。
使用 az feature show
命令验证注册状态。
az feature show --namespace "Microsoft.ContainerService" --name "KubeProxyConfigurationPreview"
当状态反映为已注册时,使用 az provider register
命令刷新 Microsoft.ContainerService 资源提供程序的注册。
az provider register --namespace Microsoft.ContainerService
可在 AKS 群集架构中查看完整的 kube-proxy
配置结构。
enabled
:确定 kube-proxy
DaemonSet 的部署。 默认为 true
。mode
:可以设置为 IPTABLES
或 IPVS
。 默认为 IPTABLES
。ipvsConfig
:如果 mode
为 IPVS
,则此对象包含特定于 IPVS 的配置属性。
scheduler
:确定要使用哪个连接计划程序。 支持的值包括:LeastConnection
:向连接最少的后端 Pod 发送连接。RoundRobin
:在后端 Pod 之间平均分配连接。tcpFinTimeoutSeconds
:设置 TCP 会话收到 FIN 后的超时长度值。tcpTimeoutSeconds
:设置空闲 TCP 会话的超时长度值。udpTimeoutSeconds
:设置空闲 UDP 会话的超时长度值。备注
IPVS 负载均衡单独在每个节点中运行,并且只知道流经本地节点的连接。 这意味着,虽然 LeastConnection
在更高的连接数下会产生更均匀的负载,但当出现较低的连接数(连接数 < 2 * 节点计数)时,流量可能相对不均衡
kube-proxy
配置是一个群集范围的设置。 无需更新你的服务。
警告
更改 kube-proxy 配置可能会导致群集服务流量流稍微中断。
使用所需的 kube-proxy
配置创建配置文件。 例如,以下配置使用 LeastConnection
计划程序来启用 IPVS,并将 TCP 超时设置为 900 秒。
{
"enabled": true,
"mode": "IPVS",
"ipvsConfig": {
"scheduler": "LeastConnection",
"TCPTimeoutSeconds": 900,
"TCPFINTimeoutSeconds": 120,
"UDPTimeoutSeconds": 300
}
}
使用 az aks create
或 az aks update
命令,通过配置文件创建新群集或更新现有群集,并将 --kube-proxy-config
参数设置为该配置文件。
# Create a new cluster
az aks create \
--resource-group <resourceGroup> \
--name <clusterName> \
--kube-proxy-config kube-proxy.json \
--generate-ssh-keys
# Update an existing cluster
az aks update \
--resource-group <resourceGroup> \
--name <clusterName> \
--kube-proxy-config kube-proxy.json
本文介绍了如何在 Azure Kubernetes 服务 (AKS) 中配置 kube-proxy
。 若要详细了解 AKS 中的负载均衡,请参阅以下文章:
培训
模块
配置 Azure Kubernetes 服务群集 - Training
使用 Azure Policy 对 Kubernetes 群集大规模强制实施策略和安全措施。 Azure Policy 可确保群集在整个组织中是安全、合规和一致的。
认证
Microsoft Certified: Azure Network Engineer Associate - Certifications
展示 Azure 网络基础结构、负载均衡流量、网络路由等的设计、实现和维护。