You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否更新Azure AKS集群中ML Studio推理端点关联的NGINX版本?

解决Azure AKS上ML Studio推理端点的NGINX版本更新问题

首先要明确:你看到的NGINX v1.10.3不是AKS节点操作系统本身的服务,而是ML Studio推理端点部署的容器化组件(大概率是推理服务的入口代理或sidecar容器)。AKS作为托管集群,节点环境是被Azure管控的,手动修改节点上的软件会破坏集群一致性,而且大概率会被Azure自动恢复,所以不能通过节点shell直接更新。下面是具体的定位和解决步骤:

1. 先定位NGINX实例的来源

用Kubernetes命令行工具kubectl来排查这些NGINX的归属:

  • 首先列出集群中所有包含NGINX的Pod:
    kubectl get pods --all-namespaces -o wide | grep nginx
    
  • 找到对应推理端点的Pod后,查看它的容器镜像细节,确认是否属于ML Studio推理部署:
    kubectl describe pod <目标Pod名称> -n <对应命名空间>
    
    在输出的Containers部分,查看Image字段,你会发现这是ML Studio推理环境的专用镜像,而不是节点上的系统包。
  • 另外,你提到的31366、31419等端口是Kubernetes的NodePort类型服务暴露的端口,对应推理服务的Service资源,可通过以下命令确认:
    kubectl get svc --all-namespaces | grep -E "5001|31366|31419|32570"
    

2. 正确的NGINX版本更新方式

根据推理端点的部署类型,分两种情况处理:

情况A:使用自定义环境部署的推理端点

如果你的团队是通过ML Studio的**自定义环境(Custom Environment)**部署的推理服务,可以自行更新NGINX版本:

  • 编写新的Dockerfile,基于ML Studio的基础推理镜像,添加NGINX更新步骤。比如:
    # 以ML Studio的Python推理基础镜像为例
    FROM mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
    # 更新NGINX到安全版本(比如1.24.x)
    RUN apt-get update && apt-get install -y --no-install-recommends nginx=1.24.0-1ubuntu1.3 && apt-get clean && rm -rf /var/lib/apt/lists/*
    # 保留原推理环境的其他配置
    ...
    
  • 构建镜像并推送到你的Azure Container Registry(ACR)中;
  • 在ML Studio中创建新的自定义环境,使用这个更新后的镜像;
  • 将现有推理端点重新部署到这个新环境中,替换旧的部署。

情况B:使用ML Studio默认环境部署的推理端点

如果是用ML Studio提供的默认推理环境,这些镜像由Azure官方维护,你需要:

  • 检查Azure ML Studio的更新公告,确认官方是否已经推送了包含安全版本NGINX的默认环境;
  • 如果还没有,提交Azure支持工单,说明你的安全扫描发现的问题,请求官方优先更新对应环境的NGINX版本;
  • 在此期间,不要尝试手动修改AKS节点或默认环境的组件,避免破坏推理服务的稳定性。

3. 临时安全缓解措施

在等待更新的过程中,你可以通过Kubernetes Network Policy限制这些端口的访问范围,降低风险:
创建一个Network Policy,只允许指定的IP段访问这些推理端口:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: restrict-inference-port-access
  namespace: <你的推理服务所在命名空间>
spec:
  podSelector:
    matchLabels:
      # 替换为你的推理Pod的标签,比如azureml-model-deployment: <你的部署名称>
      azureml-model-deployment: my-inference-deployment
  policyTypes:
  - Ingress
  ingress:
  - from:
    - ipBlock:
        # 替换为允许访问的IP段,比如团队办公IP或ML Studio的管控IP
        cidr: 192.168.1.0/24
    ports:
    - protocol: TCP
      port: 5001
    - protocol: TCP
      port: 31366
    - protocol: TCP
      port: 31419
    - protocol: TCP
      port: 32570

将上述内容保存为inference-network-policy.yaml,然后执行:

kubectl apply -f inference-network-policy.yaml

内容的提问来源于stack exchange,提问作者Appleoddity

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 15:09:10