Docker v20.10.10 发布
这个版本是 Docker v20.10 的第 10 个小版本,这个版本中没有什么太特别的共性问题,但是由于 Go 1.16 中 `net/http` 包对 `$HTTP_PROXY` 行为的变化^[2]^,所以当你为 Docker daemon 设置代理的时候,请确认你已经正确的设置了 $HTTP_PROXY
和 $HTTPS_PROXY
等。
此版本的其他变更,可参考其 ReleaseNote 。至于 Docker v21.x 短时间内还不会发布,不过里面确实增加了一些值得一提的特性,后续新版本快发布前再跟大家分享。
Helm v3.7 正式发布
Helm v3.7 是一个特性版本,我们一起来看看有哪些值得关注的变更吧。
对 OCI Chart 的支持相关的变更
helm chart export
已删除helm chart list
已删除helm chart pull
由helm pull
代替helm chart push
由helm push
代替helm chart remove
已删除helm chart save
由helm package
代替
另外, 如果是通过旧版本创建的 OCI chart 需要使用 Helm v3.7 进行重新打包和上传才能使用。
一些新特性
- 新增
helm uninstall --wait
- 新增
helm show crds
helm dependency list
新增--max-col-width
用于设置列宽helm repo add
新增--password-stdin
用于从 stdin 输入密码helm repo update
可以指定 repo 名称进行更新了- Helm 模板引擎中新增
{{ .Chart.IsRoot }}
更多关于此版本的变更可以参考其 ReleaseNote
Notary v2 alpha1 发布
Notary v1,也称为 Docker Content Trust(DCT),主要是为当时的 Docker Hub 发布的。从那以后发生了很多变化,围绕首次使用信任 (TOFU)、密钥管理以及在注册中心内和跨注册中心缺乏内容推广的一些设计选择已成为 Docker Content Trust 和 Notary v1 的限制因素。
对 Notary 不了解的小伙伴,可以看下我两年前写的一篇 《K8S 生态周报| TUF 正式从 CNCF 毕业》在这篇文章中介绍了 TUF 还有 Notary 等内容。这里就不展开了。
Notary v2 支持对存储在基于 OCI 分发的注册表中的所有工件(容器镜像、软件材料清单、扫描结果)进行签名,并增强了 ORAS 工件规范。Notary v2 的一个关键原则是它支持在注册中心内和跨注册中心推广已签名的工件,包括私有网络环境。
它的工作过程如下图所示:
Notary v2
在 Notary v2 中最显著的变化就是易用性的提升,包括它发布了名为 notation
的 CLI 工具。可以创建证书,签名,校验等。
(MoeLove) ➜ ~ notation
NAME:
notation - Notation - Notary V2
USAGE:
notation [global options] command [command options] [arguments...]
VERSION:
0.7.0-alpha.1
AUTHOR:
CNCF Notary Project
COMMANDS:
sign Signs artifacts
verify Verifies OCI Artifacts
push Push signature to remote
pull Pull signatures from remote
list, ls List signatures from remote
certificate, cert Manage certificates used for verification
key Manage keys used for signing
cache Manage signature cache
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
--version, -v print the version (default: false)
此版本中最显著的特性就是离线签名创建,以及对 OCI 分发规范的支持。后续的版本中将支持证书吊销,策略支持等能力。感兴趣的小伙伴可以参考其 ReleaseNote
Docker Hub Registry 公布对 IPv6 的支持
随着 IPv6 的逐步普及,世界范围内越来越多的用户开始在使用 IPv6 网络了,但是 Docker Hub 此前并不支持 IPv6 网络。在听取社区反馈意见后,正式加入了对 Docker Hub 的 IPv6 网络的支持。
Google IPv6 statistic
目前公布的测试版本的 IPv6 地址为 registry.ipv6.docker.com
, 如果是纯 IPv6 或者双栈用户,可以使用如下命令进行登陆。
docker login registry.ipv6.docker.com
也可以使用如下的命令进行镜像的拉取:
docker pull registry.ipv6.docker.com/library/debian:latest
在后续对 IPv6 的支持达到稳定后,默认的 Docker Hub Registry 的地址也将支持 IPv6。这件事情对于 Docker Inc. 公司而言,比较大的挑战在与它需要处理它的限流限速相关的逻辑,不过目前也已经基本处理好了。
上游进展
-
#99557 · kubernetes/kubernetes 新增了一个实验性的
kubectl events
命令,这个 PR 中仅包含了最基本的实现,后续版本中将会按照 KEP #1440 继续实施。增加此命令主要是由于在不修改
kubectl get
的前提下,查看event
有一些限制,所以直接增加kubectl events
命令可以更方便的去获取到需要的信息,尤其是 event 是在 Kubernetes 中经常需要查看的一个信息。kubectl get events
比较典型的一些问题, 比如排序(虽然可以通过加参数解决), watch,以及无法按照时间线方式去查看 events 等。当然以上的这些问题也可以参考我之前的文章 《更优雅的 Kubernetes 集群事件度量方案》来解决。
现在主要是增加了
--for
选项,可以直接按照对象进行过滤,在下个版本 v1.23 中就将正式和大家见面了。 -
#105908 · kubernetes/kubernetes 作为在 v1.21 中被废弃的 PSP(Pod Security Policy)的替代品,Pod Security Admission Control 在此版本中实现了很多内容。此 PR 中为被免于 Pod Security 的 Pod 添加了 annotation 用于解释如何/为什么。
-
#104909 · kubernetes/kubernetes 修正了获取 Pod QoS 时的逻辑。原先的逻辑中仅包含了
pod.Spec.Containers
的部分,而没有处理pod.Spec.InitContainers
这些 InitContainer 的部分,此次修改将它们都加上了。 -
#104693 · kubernetes/kubernetes 在
PodSpec
中根据 KEP-2808 增加OS
字段,以及一些校验,主要是为了区分是否为 Windows 节点等。