Kubernetes 1.21 版本 release
ReleaseNote: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md
Kube-proxy IPVS变更
需要 net.ipv4.conf.all.route_localnet
设置为 1
. 默认情况下已经不在设置此项
kubelet 添加内存管理
kubelet 组件生态中新增了一个 内存管理器
,在 Linux 系统中,为需要保证 QoS
的 Pod
在多 NUMA
节点保障内存和大内存页分配。这个特性非常有用,尤其是当数据库类或者使用 DPDK 进行高性能数据包处理的应用要部署到 Kubernetes 中时,内存对其性能影响至关重要。
numactl 管理工具查看下当前机器上的情况:
$ numactl -H
available: 2 nodes (0-1)
node 0 cpus: 0
node 0 size: 990 MB
node 0 free: 141 MB
node 1 cpus: 1
node 1 size: 989 MB
node 1 free: 427 MB
node distances:
node 0 1
0: 10 21
1: 21 10
可以在启动 kubelet
的时候通过 --reserved-memory
以及配合 --memory-manager-policy
等参数来一起设置
--cpu-manager-policy=static
和 --kube-reserved=cpu=1
--memory-manager-policy static --reserved-memory 0:memory=1Gi,hugepages-1M=2Gi --reserved-memory 1:memory=2Gi --cpu-manager-policy=static --kube-reserved=cpu=1
Pod 属于 Guaranteed QoS 类型的会自动绑定CPU 和 NUMA下内存
ReplicaSet 缩容算法调整
最新缩容算法,主要是优先删除生命周期最短的 Pod,本次修改主要是为了避免某些场景:
比如在缩容的时候,一次性把新扩容的所有的 Pod 给删掉了之类的。所以计划对他们进行对数计算
,也可以简单的理解为想要相对随机的对 Pod 进行清理;
添加 apiserver 请求etcd max object size 和 reuse duration time
apiserver 添加标志 --lease-max-object-size
和 --lease-reuse-duration-seconds
配置与etcd的请求大小和重连时间
CoreDNS 1.8.0
支持预先CoreDNS
检查
「如果这篇文章对你有用,请随意打赏」
FEATURED TAGS
agent
apiserver
application
bandwidth-limit
cgo
cgroupfs
ci/cd
client-go
cloudnative
cncf
cni
community
container
container-network-interface
containerd
controller
coredns
crd
custom-controller
deployment
docker
docker-build
docker-image
drop
ebpf
ecology
egress
etcd
gitee
github
gitlab
golang
governance
hpa
http2
image
ingress
iptables
jobs
kata
kata-runtime
kernel
kind
kubelet
kubenetes
kubernetes
library
linux-os
logging
loki
metrics
monitor
namespace
network
network-troubleshooting
node
nodeport
pingmesh
pod
prestop
prometheus
proxyless
pvc
rollingupdate
schedule
scheduler
serverless
sidecar
sigtrem
systemd
throttling
timeout
tools
traceroute