k8s 资源调度(nodeSelector、nodeAffinity、taint&tolrations

本文详细介绍了Kubernetes中的资源调度策略,包括nodeSelector、nodeAffinity以及Taints和Tolerations的使用。通过示例展示了如何限制Pod调度到具有特定标签的Node上,以及如何设置污点以避免或允许Pod在特定节点上运行。内容涵盖不同场景的应用,如专用节点管理和特殊硬件资源配置。
摘要由CSDN通过智能技术生成

容器资源限制:

  • resources.limits.cpu

  • resources.limits.memory

容器使用的最小资源需求,作为容器调度时资源分配的依据:

  • resources.requests.cpu

  • resources.requests.memory

CPU单位:可以写m也可以写浮点数。例如0.5=500m, 1=1000m

[](()示例

//K8s会根据Request的值去查找有足够资源的Node来调度此Pod

[root@master ~]# cat tt.yml

apiVersion: v1

kind: Pod

metadata:

name: nginx

namespace: default

spec:

containers:

  • name: nginx

image: nginx

imagePullPolicy: IfNotPresent

resources:

requests:

memory: “64Mi”

cpu: “250m”

limits:

memory: “128Mi”

cpu: “500m”

[root@master ~]# kubectl apply -f tt.yml

pod/nginx created

[root@master ~]# kubectl describe node node1

Name: node1

Roles:

Labels: beta.kubernetes.io/arch=amd64

beta.kubernetes.io/os=linux

kubernetes.io/arch=amd64

kubernetes.io/hostname=node1

kubernetes.io/os=linux

Annotations: flannel.alpha.coreos.com/backend-data: {“VNI”:1,“VtepMAC”:“fe:b4:c1:77:05:a5”}

flannel.alpha.coreos.com/backend-type: vxlan

flannel.alpha.coreos.com/kube-subnet-manager: true

flannel.alpha.coreos.com/public-ip: 192.168.129.135

kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock

node.alpha.kubernetes.io/ttl: 0

volumes.kubernetes.io/controller-managed-attach-detach: true

CreationTimestamp: Sat, 18 Dec 2021 16:30:11 +0800

Taints:

Unschedulable: false

Lease:

HolderIdentity: node1

AcquireTime:

RenewTime: Thu, 23 Dec 2021 20:35:59 +0800

Conditions:

Type Status LastHeartbeatTime LastTransitionTime Reason Message


NetworkUnavailable False Thu, 23 Dec 2021 19:56:36 +0800 Thu, 23 Dec 2021 19:56:36 +0800 FlannelIsUp Flannel is running on this node

MemoryPressure False Thu, 23 Dec 2021 20:31:46 +0800 Wed, 22 Dec 2021 04:32:02 +0800 KubeletHasSufficientMemory kubelet has sufficient memory available

DiskPressure False Thu, 23 Dec 2021 20:31:46 +0800 Wed, 22 Dec 2021 04:32:02 +0800 KubeletHasNoDiskPressure kubelet has no disk pressure

PIDPressure False Thu, 23 Dec 2021 20:31:46 +0800 Wed, 22 Dec 2021 04:32:02 +0800 KubeletHasSufficientPID kubelet has sufficient PID available

Ready True Thu, 23 Dec 2021 20:31:46 +0800 Wed, 22 Dec 2021 04:32:02 +0800 KubeletReady kubelet is posting ready status

Addresses:

InternalIP: 192.168.129.135

Hostname: node1

Capacity:

cpu: 2

ephemeral-storage: 36731368Ki

hugepages-1Gi: 0

hugepages-2Mi: 0

memory: 3842264Ki

pods: 110

Allocatable:

cpu: 2

ephemeral-storage: 33851628693

hugepages-1Gi: 0

hugepages-2Mi: 0

memory: 3739864Ki

pods: 110

System Info:

Machine ID: d2c10a72b80c45679e2c249297ecb522

System UUID: 5b114d56-95d2-7774-4a94-988a30aa87a6

Boot ID: 4ce4678f-9d93-4c07-8f8f-de94070d807f

Kerne

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值