代码之家  ›  专栏  ›  技术社区  ›  BrettRobi

混合CPU/内存资源和节点选择器失败

  •  0
  • BrettRobi  · 技术社区  · 7 年前

    我有一个ACS k8s Windows群集设置和工作。早期,我发现我需要使用节点选择器,或者k8s会尝试将我的pod分配给主节点(Linux),即使我的容器映像是Windows。我用了这个:

      nodeSelector:
        beta.kubernetes.io/os: windows
    

    现在我正在尝试为我的pod分配内存和cpu资源,而k8s无法找到合适的节点。它显示了此错误:

    内存不足(2),匹配节点选择器(1)

    我有一个超小的资源分配,我的节点有足够的空间用于这些:

      resources:
        requests:
          memory: 1Mi
    

    这是完整的k8s部署yaml:

    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: forest-worker-res
    spec:
      replicas: 1
      revisionHistoryLimit: 0
      selector:
        matchLabels:
          app: forest-worker
      template:
        metadata:
          labels:
            app: forest-worker
            env: debug
        spec:
          containers:
            - name: forest-worker
              image: intmadras.azurecr.io/forest-worker
              resources:
                requests:
                  memory: 10Mi
          nodeSelector:
            beta.kubernetes.io/os: windows
          imagePullSecrets:
            - name: azurereg
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   jiangtli    7 年前

    @BrettRobi您部署的k8s版本是什么?k8s windows节点在1.6中没有实现节点度量(cpu、内存等),最近添加到1.7中。因此需要将nodeSelector部署到windows节点。你能验证一下 kubectl describe nodes