产品动态
公告
产品发布记录

kubectl get nodes -o wide 查看节点的 KERNEL-VERSION 已经为最新内核版本 5.4.241-19-0017.1_plus。

spec.selector.matchLables 指定在哪些节点上开启压缩开关,示例如下:apiVersion: ensurance.crane.io/v1alpha1kind: NodeQOSmetadata:name: compressionspec:selector:matchLabels:compression: enablememoryCompression:enable: true
compression: enable。kubectl get node <nodename> -o yaml | grep "gocrane.io/memory-compression"
# 确认zram设备初始化# zramctlNAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT/dev/zram0 lzo-rle 3.6G 4K 74B 12K 2 [SWAP]# 确认设置到swap# free -htotal used free shared buff/cache availableMem: 3.6Gi 441Mi 134Mi 5.0Mi 3.0Gi 2.9GiSwap: 3.6Gi 0.0Ki 3.6Gi# sysctl vm.force_swappinessvm.force_swappiness = 1
spec.lableSelector.matchLables 指定在哪些 Pod 上启用内存压缩,示例如下:apiVersion: ensurance.crane.io/v1alpha1kind: PodQOSmetadata:name: memorycompressionspec:labelSelector:matchLabels:compression: enableresourceQOS:memoryQOS:memoryCompression:compressionLevel: 1enable: true
apiVersion: apps/v1kind: Deploymentmetadata:name: memory-stressnamespace: defaultspec:replicas: 2selector:matchLabels:app: memory-stresstemplate:metadata:labels:app: memory-stresscompression: enablespec:containers:- command:- bash- -c- "apt update && apt install -yq stress && stress --vm-keep --vm 2 --vm-hang 0"image: ccr.ccs.tencentyun.com/ccs-dev/ubuntu-base:20.04name: memory-stressresources:limits:cpu: 500mmemory: 1Girequests:cpu: 100mmemory: 100MrestartPolicy: Always
# qos agent 会给开启内存压缩的pod设置annotationkubectl get pods -l app=memory-stress -o jsonpath="{.items[0].metadata.annotations.gocrane\\.io\\/memory-compression}"# zramctlNAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT/dev/zram0 lzo-rle 3.6G 163M 913.9K 1.5M 2 [SWAP]# free -htotal used free shared buff/cache availableMem: 3.6Gi 1.4Gi 562Mi 5.0Mi 1.7Gi 1.9GiSwap: 3.6Gi 163Mi 3.4Gi# 查看 cgroup (一般为/sys/fs/cgroup/memory/路径下)中的 memory.zram.{raw_in_bytes,usage_in_bytes} 可以看到pod有多少内存进行了压缩、压缩后内存大小,计算差值即为节约内存cat memory.zram.{raw_in_bytes,usage_in_bytes}170659840934001# 计算差值即为节约内存大小,例子中节约了170Mi内存cat memory.zram.{raw_in_bytes,usage_in_bytes} | awk 'NR==1{raw=$1} NR==2{compressed=$2} END{ print raw - compress }'170659840
文档反馈