k8s-pod调度
Pod调度-原始(pod上定义的属性) 亲和性,nodeSelector,污点都是经过调度器。如果调度器出现故障,希望pod可以快速部署到某个节点,可以使用nodeName Pod.spec.nodeSelector是经过Kubernetes的label-selector机制选择节点,由调度器调度策略匹配label,然后调度Pod到目标节点,该匹配规则属于【强制】约束。因为是调度器调度,所以不能越过Taints污点进行调度。 pod.spec.nodeName将Pod直接调度到指定的Node节点上,会【跳过Scheduler的调度策略】,该匹配规则是【强制】匹配。能够越过Taints污点进行调度。 nodeName用于选择节点的一些限制是: 若是指定的节点不存在,则容器将不会运行,而且在某些状况下可能会自动删除。 若是指定的节点没有足够的资源来容纳该Pod,则该Pod将会失败,而且其缘由将被指出,例如OutOfmemory或OutOfcpu。 云环境中的节点名称并不是总是可预测或稳定的。 apiVersion: v1 kind: Pod metadata: name: nginx labels: env: test spec: containers: - name: nginx image: docker.io/nginx imagePullPolicy: IfNotPresent nodeSelector: disktype: ssd Pod调度-亲和性(pod上定义的属性) 亲和性主要分为两类:nodeAffinity 和 podAffinity/podAntiAffinity ...