Kubernetes 1.19 版本 release
ReleaseNote: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md
通用临时卷
新的通用临时卷(Generic ephemeral volumes
)功能允许将任何支持动态配置的现有存储驱动程序用作临时卷,并将卷的生命周期绑定到 Pod。它可用于提供不同于根磁盘的暂存存储,例如持久内存或该节点上的单独本地磁盘。支持卷配置的所有 StorageClass 参数。支持 PersistentVolumeClaims 支持的所有功能,例如存储容量跟踪、快照和还原以及卷大小调整。
kind: Pod
apiVersion: v1
metadata:
name: my-app
spec:
containers:
- name: my-frontend
image: busybox:1.28
volumeMounts:
- mountPath: "/scratch"
name: scratch-volume
command: [ "sleep", "1000000" ]
volumes:
- name: scratch-volume
ephemeral: # 通用临时卷
volumeClaimTemplate:
metadata:
labels:
type: my-frontend-volume
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "scratch-storage-class"
resources:
requests:
storage: 1Gi
Ingress API GA
引入 klog
日志库
引入klog库
, 格式化日志更方便的结构化的接口(json 和 ini)。并且每个现有的格式化日志方法 ( Infof
, Errorf
) 现在都与结构化方法 ( InfoS
, ErrorS
) 匹配
// ...
func PodEligibleToPreemptOthers(pod *v1.Pod, nodeInfos framework.NodeInfoLister, nominatedNodeStatus *framework.Status) bool {
if pod.Spec.PreemptionPolicy != nil && *pod.Spec.PreemptionPolicy == v1.PreemptNever {
// 添加不通对象数据
klog.V(5).InfoS("Pod is not eligible for preemption because it has a preemptionPolicy of Never", "pod", klog.KObj(pod))
return false
}
// ...
return true
}
CSI 卷监控
CSI
接口支持 health 上报 kubelet,并上报到 apiserver。 可支持Pod中单个卷的健康检查
kubelet去掉Docker内置
去掉默认Docker
运行时,全量迁移到CNI
新增 节点拓扑管理器
节点拓扑管理器 (Node Topology Manager
) GA NUMANodeAffinity
Topology Manager提供了四种策略供用户组合各个资源的TopologyHint。这四种策略是:
none
:什么也不做,与没有开启Topology Manager的效果一样。best-effort
: 允许Topology Manager通过组合各个资源提供的TopologyHint,而找到一个最优的TopologyHint,如果没有找到也没关系,节点也会接纳这个Pod。restricted
:允许Topology Manager通过组合各个资源提供的TopologyHint,而找到一个最优的TopologyHint,如果没有找到,那么节点会拒绝接纳这个Pod,如果Pod遭到节点拒绝,其状态将变为Terminated。single-numa-node
:允许Topology Manager通过组合各个资源提供的TopologyHint,而找到一个最优的TopologyHint,并且这个最优的TopologyHint所涉及的NUMA节点个数是1。如果没有找到,那么节点会拒绝接纳这个Pod,如果Pod遭到节点拒绝,其状态将变为Terminated。
kubelet ... --topology-manager-policy = [none | best-effort | restricted | single-numa-node] ...
「如果这篇文章对你有用,请随意打赏」
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