2017-09-08 1 views
0

ACS k8s Windows 클러스터 설정 및 작동이 있습니다. 조기에 나는 컨테이너 이미지가 Windows인데도 nodeSelector를 사용해야하거나 k8s가 마스터 노드 (Linux)에 내 창을 할당하려고 시도한다는 것을 발견했습니다. CPU/메모리 리소스 및 nodeSelectors 혼합에 실패했습니다.

nodeSelector: 
    beta.kubernetes.io/os: windows 

지금 내 포드와 K8S에 메모리와 CPU 자원을 할당하기 위해 노력하고있어 적절한 노드를 찾을 수 없습니다 :이를 사용했다.

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 
나는 슈퍼 작은 자원 할당을 내 노드가 이들의 여지가

No nodes are available that match all of the following predicates:: Insufficient memory (2), MatchNodeSelector (1)

: 그것은이 오류를 보여줍니다

nodeSelector를 제거하면 depoyment가 진행되지만 k8이이를 마스터 노드에 할당하기 때문에 다시 실패합니다. 그래서 나는 붙어있다. nodeSelector를 사용하고 자원을 할당하는 방법은 무엇입니까?

+0

k8s 파일을 보여 주시겠습니까? –

+0

@ JasonYe-MSFT 전체 k8 배치를 추가했습니다. yaml – BrettRobi

답변

0

@BrettRobi 배포 한 k8의 버전은 무엇입니까? k8s windows 노드에는 1.6에서 구현 된 노드 메트릭 (CPU, 메모리 등)이 없으며 최근에 1.7에 추가되었습니다. 따라서 nodeSelector는 Windows 노드에 배포해야합니다. kubectl describe nodes, windows 노드에 노드 메트릭이 올바르게 표시되어 있는지 확인할 수 있습니까?

+0

와우, 진심이야? ACS는 현재 k8s v1.6.6을 배포 중입니다. 이것은 분명히 이것이 나를 위해 일하지 않는 이유를 설명 할 것입니다. 나는 이것이 더 분명하지 않다는 것에 놀랐다. 다양한 버전의 Windows에서 k8을 사용하여 작업 할 것으로 기대되는 문서를 어디서나 알고 있습니까? – BrettRobi