安全漏洞CVE-2019-3874分析html
Kubernetes近期重要bug fix分析git
Kubernetes v1.13.5 bug fix数据分析github
——本周更新内容 api
安全漏洞CVE-2019-3874分析安全
3月21日,Kubernetes社区经过Google Group频道Kubernetes developer/contributor discussion发布了安全漏洞CVE-2019-3874以及解决方法。服务器
这个安全漏洞最先由红帽的工程师Matteo Croce,Natale Vinto和Andrea Spagnolo发现。当Kubernetes中的Pod以Root用户运行时,它能够绕过cgroup内存隔离,经过SCTP网络传输,建立一个潜在的DoS攻击,此问题自己与Kubernetes无关,可是涉及到Kubernetes调用的内核模块。问题的严重性被定义为中等,社区建议将SCTP内核模块列入黑名单来规避此问题。用户能够经过执行以下命令来测试是否会到此类攻击。网络
modprobe sctp; lsmod | grep sctp测试
用户能够经过执行以下命令来把SCTP列入内核模块的黑名单。优化
echo "install sctp /bin/true" > /etc/modprobe.d/sctp.confhtm
若是SCTP模块已经载入内核,则须要重启机器来从内核中卸载SCTP模块。CVE-2019-3874安全漏洞的内核补丁正在开发中,可是经过将SCTP内核模块列入黑名单能够保护用户永久免受此类攻击。
CVE-2019-3874连接:
https://access.redhat.com/security/cve/cve-2019-3874
Kubernetes近期重要bug fix分析
•#74672移除
致使内存泄漏的Reflector Metrics
https://github.com/kubernetes/kubernetes/pull/74672
该问题的背景是#73587这个Issue。用户在升级到v1.12.5以后,发现集群内节点上Kubelet在运行一段时间后吃掉了全部的内存,致使节点故障。使用go tool pprof发现Client Go Metrics耗费了大部分的计算时间。这些Reflector Metrics并非必不可少,该PR移除了以下的Metrics来解决内存泄漏的问题:
reflector_items_per_list
reflector_items_per_watch
reflector_last_resource_version
reflector_list_duration_seconds
reflector_lists_total
reflector_short_watches_total
reflector_watch_duration_seconds
reflector_watches_total
•#74865获取不到
包含有InitContainers的Pod的Metrics
https://github.com/kubernetes/kubernetes/pull/74865
该问题的初始现象是Metrics Server获取不到包含有InitContainers的Pod的Metrics。
根本缘由在于退出的容器(如InitContainers)CPU和Memory都为Nil致使Metrics服务器将跳过Pod的处理。具体是removeTerminatedContainer的实现忽略了cri提供的runtimeapi.Container和cadvisor提供的cadvisorapiv2.ContainerInfo的不一样。
此问题的解决方法是在原有上报Nil的状况下,修改成上报退出容器的CPU和Memory为0。
•#75366延迟CSI Client初始化
以解决CSI Volume Plugin在Kubelet重启后
不可用的问题
https://github.com/kubernetes/kubernetes/pull/75366
该问题的背景是#72500这个Issue。在Kubelet重启后,CSI Volume Plugin可能不会被从新注册。这些Volume Plugin未注册会相应地致使这些Plugin关联的Volume的操做没法进行。解决办法是在Kubelet重启后,单独提取一个csiClientGetter的Get()方法用于当初始化失败时,能经过延迟CSI Client初始化的方式来从新注册CSI Volume Plugin。
•#75364区分Volume Path和Mount Path
https://github.com/kubernetes/kubernetes/pull/75364
一般状况下大部分的Volume Plugin会去检查Mount在Pod的Volume第一层级的目录,可是对于CSI Plugin却不是这样,CSI Plugin可能会Mount在子目录上。这个PR修改了Kubelet中VolumePath和MountPath引用的逻辑,实现对CSI的优化。
Kubernetes v1.13.5 bug fix数据分析
分类数量和占比统计以下:
严重程度数量统计以下(横坐标5为最高,0为最低):
以下为Kubernetes v1.13.5全部bug fix的汇总信息:
相关服务请访问:https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019