Kubernetes Ingress-NGINX 发布 v1.3.1 版本
这是 Kubernetes Ingress-NGINX 项目在进入功能冻结之后,发布的第一个版本。
由于这个版本只是 patch 版本,所以并没有过多大的新增特性。
但这里也有一些需要注意的变更:
- 为了能兼容 Kubernetes 的更高版本,所以我们将 controller 中用于选举的机制修改成了使用 Lease API 的方式,而不再是原先的 configmap 的方式。其实在 Kubernetes Ingress-NGINX v1.3.0 版本中,我增加了往 Lease API 平滑迁移的逻辑,在使用 v1.3.0 版本的时候,可以自动的完成 ConfigMap 往 Lease API 迁移的逻辑。 所以,如果是想要从旧版本进行平滑升级,建议先升级到 v1.3.0,待完成自动的迁移后,再往更新版本升级。
- 将基础镜像和 Go 版本均升级到最新版本,修正了一些漏洞。
- 从这个版本开始,也逐步开始了数据面和控制面的拆分。
如果你在使用 Kubernetes Ingress-NGINX,请帮忙提交一下我们的用户调查: https://www.surveymonkey.com/r/ingressngx2022
更多相关信息可查看 Release Note
Docker v20.10.18 发布
这个版本主要是一些 bugfix,其中有个比较值得注意的修复:
- [20.10 backport] daemon: kill exec process on ctx cancel by thaJeztah · Pull Request #44018 · moby/moby
Dockerfile 中有一个 HEALTHCHECK
的指令,该指令支持 --interval
和 --timeout
参数,但是 docker daemon 在 healthcheck 的 timeout 之后,并没有回收对应的进程,这样就会导致容器内可能会产生很多 healthcheck 的进程。 本次修复了该处理逻辑,在超时后会自动的发送 KILL
信号进行进程的清理。
- 升级 runc 和 containerd 版本等,上次的周报 K8S 生态周报| runc 修复多个漏洞,影响 Docker、containerd 和 K8s | MoeLove 里面我介绍过其背景,有兴趣的小伙伴可以看看。
更多相关信息可查看 Release Note
Kubernetes 社区发布官方 CVE 订阅列表
Kubernetes Security Response Committee 近期发布了官方 Kubernetes CVE 订阅列表。
这是一个会自动更新的 JSON feed, 可以直接通过此列表订阅更新。
其包含的内容如下如下所示:
➜ ~ curl -Ls https://k8s.io/docs/reference/issues-security/official-cve-feed/index.json | jq -r '.items[0]'
{
"id": "CVE-2021-25741",
"url": "https://github.com/kubernetes/kubernetes/issues/104980",
"external_url": "https://www.cvedetails.com/cve-details.php?cve_id=CVE-2021-25741",
"summary": "Symlink Exchange Can Allow Host Filesystem Access"
}
这些内容来自 GitHub 上加了 official-cve-feed
标签的漏洞公告 issue ,并同步到 Google Cloud Bucket 进行存储。
其实这个事情从去年就已经开始做了。不过由于其中涉及的事务较多,直到现在也才正式宣布。
此外,Kubernetes 社区也计划在今后逐步增加 osv.dev 的支持,期待后续的进展!
上游进展
- kubeadm: Add the option to cleanup the
tmp
directory by chendave · Pull Request #112172 · kubernetes/kubernetes
kubeadm 新增 cleanup-tmp-dir
配置项,在 kubeadm reset
时,可以通过传递此参数将 kubeadm 产生的临时文件给清理干净。
- Avoid propagating "search ." into containers /etc/resolv.conf by dghubble · Pull Request #112157 · kubernetes/kubernetes
从 Kubernetes v1.25 开始,/etc/resolv.conf
中的 search .
会被传递到容器内。
这会导致任意基于 musl libc 系统的 DNS 查询失败,比如任何基于 Alpinelinux 的镜像都会失败。
要验证自己的集群是否会受该问题影响,只需要查看系统的 /etc/resolv.conf
文件的内容即可。比如:
nameserver 127.0.0.53
options edns0 trust-ad
search .
如果是上述的情况,一般说明是被 systemd resove 接管了,并且会受到此处描述的问题所影响。 该修正会携带到 Kubernetes v1.25.1 版本中。
其他
- Istio / Introducing Ambient Mesh 这是 Istio 新增的一种无 sidecar 代理的数据面模式,有兴趣的小伙伴可以看看。
- Release 0.59.1 / 2022-09-12 · prometheus-operator/prometheus-operator Prometheus operator 发布了新版本。
以上就是本期的全部内容, 好了,我们下期再见!