In this world of technology, frameworks or development platforms are evolving to serve the best performance results to developers and users. And Kubernetes is not apart from this. It is a portable, extensible, open-source platform to manage containerized workloads and services, that facilitates declarative configuration and automation. It has large, rapidly growing ecosystem. Now, Kubernetes came with its new version Kubernetes 1.21 with some amazing features and improvements. But what are these new enhancements? Let’s dig in and find out.
New Features Of Kubernetes 1.21-
1. New Memory Manager-
Container deployments are dependent on memory. And those deployments must use memory wisely, otherwise they could wind up by draining your cluster of precious resources. Memory manager is a new feature in the ecosystem which enables guaranteed memory allocation for pods in the Guaranteed QoS class. With this, you will be able to find two different allocation strategies:
Single: NUMA is for high-performance and performance-sensitive apps.
Multi-NUMA defeats situation that can’t be managed with single-NUMA strategy
Memory manager initializes a memory table collection for every NUMA node that results in memory map objects. Memory table and memory maps are constructed like-
type MemoryTable struct {
TotalMemSize uint64 `json:"total"`
SystemReserved uint64 `json:"systemReserved"`
Allocatable uint64 `json:"allocatable"`
Reserved uint64 `json:"reserved"`
Free uint64 `json:"free"`
}
type NodeState struct {
NumberOfAssignments int json:"numberOfAssignments"
MemoryMap map[v1.ResourceName]*MemoryTable json:"memoryMap"
Nodes []int json:"nodes"
}
type NodeMap map[int]*NodeState
2. Flexible Scheduler-
Every workload is not the same. With release of 1.21 the scheduler will receive two new features- Nominated nodes and Pod affinity.
Nominated nodes allow cloud native developers to define preferred node, by using .status.nominatedNodeName filed in Pod. If scheduler fils to fit incoming pod into preferred node, it will preempt lower-priority pods to make room.
Pod affinity selector allows developers to define node affinity into deployment. It allows developer to constrain which nodes pods will be scheduled on.
Know more at- [https://solaceinfotech.com/blog/whats-new-in-kubernetes-1-21/]
Top comments (0)