mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 18:24:07 +00:00
Document node capacity.
This commit is contained in:
parent
51e0647f41
commit
832f1b8165
31
docs/node.md
31
docs/node.md
@ -149,5 +149,36 @@ unschedulable, run this command:
|
|||||||
kubectl update nodes 10.1.2.3 --patch='{"apiVersion": "v1", "unschedulable": true}'
|
kubectl update nodes 10.1.2.3 --patch='{"apiVersion": "v1", "unschedulable": true}'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Node capacity
|
||||||
|
|
||||||
|
The capacity of the node (number of cpus and amount of memory) is part of the node resource.
|
||||||
|
Normally, nodes register themselves and report their capacity when creating the node resource. If
|
||||||
|
you are doing [manual node administration](#manual-node-administration), then you need to set node
|
||||||
|
capacity when adding a node.
|
||||||
|
|
||||||
|
The kubernetes scheduler ensures that there are enough resources for all the pods on a node. It
|
||||||
|
checks that the sum of the limits of containers on the node is less than the node capacity. It
|
||||||
|
includes all containers started by kubelet, but not containers started directly by docker, nor
|
||||||
|
processes not in containers.
|
||||||
|
|
||||||
|
If you want to explicitly reserve resources for non-Pod processes, you can create a placeholder
|
||||||
|
pod. Use the following template:
|
||||||
|
```
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: resource-reserver
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: sleep-forever
|
||||||
|
image: gcr.io/google_containers/pause:0.8.0
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 100Mi
|
||||||
|
```
|
||||||
|
Set the `cpu` and `memory` values to the amount of resources you want to reserve.
|
||||||
|
Place the file in the manifest directory (`--config=DIR` flag of kubelet). Do this
|
||||||
|
on each kubelet where you want to reserve resources.
|
||||||
|
|
||||||
[]()
|
[]()
|
||||||
|
Loading…
Reference in New Issue
Block a user