混合 CPU/Memory 资源和 nodeSelectors 失败
Mixing CPU/Memory Resources and nodeSelectors fails
我有一个 ACS k8s Windows 集群设置和工作。早些时候我发现我需要使用 nodeSelector,否则 k8s 会尝试将我的 pods 分配给主节点 (Linux),即使我的容器镜像是 Windows。我用过这个:
nodeSelector:
beta.kubernetes.io/os: windows
现在我正在尝试为我的 pods 分配内存和 cpu 资源,但 k8s 无法找到合适的节点。它显示此错误:
No nodes are available that match all of the following predicates::
Insufficient memory (2), MatchNodeSelector (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
如果我删除 nodeSelector,则部署继续进行,但再次失败,因为 k8s 将其分配给了主节点。所以我卡住了。如何使用 nodeSelector 并分配资源?
@BrettRobi 你部署的k8s是什么版本的? k8s windows 节点没有在 1.6 中实现的节点指标(cpu、内存等),最近添加到 1.7。因此需要 nodeSelector 部署到 windows 节点。您能否验证 kubectl describe nodes
、windows 节点是否正确显示了节点指标?
我有一个 ACS k8s Windows 集群设置和工作。早些时候我发现我需要使用 nodeSelector,否则 k8s 会尝试将我的 pods 分配给主节点 (Linux),即使我的容器镜像是 Windows。我用过这个:
nodeSelector:
beta.kubernetes.io/os: windows
现在我正在尝试为我的 pods 分配内存和 cpu 资源,但 k8s 无法找到合适的节点。它显示此错误:
No nodes are available that match all of the following predicates:: Insufficient memory (2), MatchNodeSelector (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
如果我删除 nodeSelector,则部署继续进行,但再次失败,因为 k8s 将其分配给了主节点。所以我卡住了。如何使用 nodeSelector 并分配资源?
@BrettRobi 你部署的k8s是什么版本的? k8s windows 节点没有在 1.6 中实现的节点指标(cpu、内存等),最近添加到 1.7。因此需要 nodeSelector 部署到 windows 节点。您能否验证 kubectl describe nodes
、windows 节点是否正确显示了节点指标?