Skip to main content

Posts

Showing posts with the label node

Kubernetes: 11. Node Affinity

Scheduler By default Pods gets scheduled based on node availability for the scheduler There may be cases where in one of the node has more resources and the pod required to be scheduled on this node There are two ways to achieve this Node Selector Node Affinity Node Affinity The primary purpose of node affinity is to make sure that pods are hosted correctly on the nodes Assume that during pod creation the affinity rules match and the pod is created, what if the node labels are changed after the pod creation What happens to pod depends on the nodeAffinity values set. These are requiredDuringSchedulingIgnoredDuringExecution preferredDuringSchedulingIgnoredDuringExecution requiredDuringSchedulingRequiredDuringExecution 3rd option still does not exist in Kubernetes, it will be/or is already released in the future releases Operators can be In, NotIn, Exists For Exists, we don't need to specify any value in the pod-definition. This is because affinity rules only check if the key exists, ...

Kubernetes: 10. Node Selector

Scheduler By default Pods gets scheduled based on node availability for the scheduler There may be cases where in one of the node has more resources and the pod required to be scheduled on this node There are two ways to achieve this Node Selector Node Affinity Node Selector Update the pod definition file with the node selector label Pod will be scheduled on the node matching the label But first, Node has to be labelled.  Within the pod definition spec.nodeSelector is the property to map a pod to a node With node selector, you can only have a simple key-value selection There are no options for advanced selectors like label in certain values, or label not-in a value pod-definition.yaml apiVersion: v1 kind: Pod metadata:      name: myapp-pod      labels:           app: myapp spec:      containers:      - name: nginx-container        image...