K8S 生态周报| Docker V2 GitHub Action 宣布 GA

「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]

Docker V2 GitHub Action 已 GA

Docker Inc. 近期在其官方博客宣布 Docker V2 GitHub Action 已经 GA 。

我在之前的文章《K8S 生态周报| 首个 Docker 官方 Action 发布》 中曾详细介绍过 Docker 提供的V1 GitHub Action 的用法。

此次,V2 版本带来的最大变化是由原先单一的 GitHub Action 转换成了现在的多个模块化,且包含复杂功能的独立 Action。这里我也介绍下其中重点的内容:

独立的 Login Action

本次发布了独立的 Login Action ,之前版本的 Action 是将登录操作同时封装在整个 Action 流程中的。

- name: Login to DockerHub
  uses: docker/login-action@v1
  with:
    username: ${{ secrets.DOCKER_USERNAME }}  
    password: ${{ secrets.DOCKER_TOKEN }}

此外,在 Action 执行完成后,会有个 Post Login 的 job ,自动将 Login 动作时创建的用户凭证进行销毁。

集成 Docker Buildx

通过此 Action 可以将 builder 设置为 Buildkit,以便提供更灵活和丰富的特性。关于 Buildx 之前的周报中都介绍过了,此处略过。

- name: Setup Docker Buildx
  uses: docker/setup-buildx-action@v1

多平台构建

可通过设置 QEMU 和 Buildx 来实现多平台的构建,比如通过以下配置可同时构建 linux/amd64linux/s390x 平台的镜像,并将其推送至 DockerHub 的指定镜像仓库中。

- name: Setup QEMU
  uses: docker/setup-qemu-action@v1

- name: Build and push
  id: docker_build
  uses: docker/build-push-action@v2
  with:
    context: .
    file: ./Dockerfile
    platforms: linux/amd64,linux/s390x
    push: true
    tags: ${{ secrets.DOCKER_USERNAME }}/redis:6.0

更多关于此次变更的示例,请参考我的示例代码仓库[2]

DockerHub 正式启用限速

在 8 月份的文章 《K8S 生态周报| DockerHub 修改了定价和 TOS》 一文中,我曾介绍过 Docker Inc. 修改了 DockerHub 的定价,以及在 11 月份将启用限速功能。

限速策略是对于匿名用户限制 100 次/6小时,而对于登录的普通用户则限制为 200次/6小时。

这里我来详细介绍下这个限速具体的 实施方式 :

首先,它是 基于对 DockerHub 上镜像 manifest 的请求数量 ;其次它区分的账户类型是根据拉取镜像的帐号来的,而不是根据镜像所有者进行限制;

最后, 对于匿名用户/未登录用户,则是根据其单个 IP 进行限制的。

在了解了上述的基本概念后,我们再来看看实际在使用时,是如何消耗配额的。其 基本流程如 下:

在执行 docker pull <image> 的时候, 首先会向 registry 请求该镜像的 manifest;

如果该镜像是支持多架构的,那么会在其中匹配对应需要拉取的架构,并选择其对应层(layer) 的 blob 进行下载。

前面提到本次限制是基于对镜像的 manifest 请求做的。所以,在 拉取镜像的时候,无论镜像是只包含 一层还是多层,实际都是算一次。 这对用户体验来说是非常好的。这也是 Docker Inc. 在充分听取社区用户反馈后做出的调整。

我们看看如何知道自己还有多少配额呢?

可以直接使用 curl 或者其他方式构造任意构造一个对 DockerHub 上镜像的 manifest 的请求,在响应头中,会包含两个自定义的头:

  • RateLimit-Limit : 表示配额是多少,比如 匿名用户是 100 , 已经登录的普通用户是 200;

  • RateLimit-Remaining:表示当前剩余的额度;

此外,我也在之前的文章 《突破 DockerHub 限制,全镜像加速服务》 中,介绍了企业/个人如何突破 DockerHub 限制,更好的使用 DockerHub 的镜像服务。

Kubernetes v1.20.0-beta.0 发布

此版本中最主要的变化在于双栈 service 相关的变化。以及一些其他的内容:

  • #91452 添加了 Windows 1809, 1903, 1909, 2004 的 pause 3.4 版本的镜像;

  • #95505 Windows hyper-v container featuregate 在 1.20 中废弃,将在 1.21 中删除;

更多关于此版本的变更,请参阅其 ReleaseNote

Thanos v0.16.0 发布

Thanos v0.16.0 于本周正式发布,我们来看看此版本中最主要的变更:

  • Thanos 新的组件 Query Frontend 增加了更多选项和支持共享缓存,当前是 Memcached;

  • 为  Thanos UI 增加了 Debug 模式;

  • 为 Thanos 所有组件改善其 Debug, 增加了 off-CPU profile;

  • 显著改善了用于获取指标的 Sidecar 的延迟和 CPU 使用率;

更多关于此版本的变更,请参与其 ReleaseNote

上游进展

#91824 双栈 service 支持。这是一个 Break Change,原先的一个 ipFamily 修改成了三个字段:

  • ipFamilyPolicy 的可选项为 SingleStack PreferDualStackRequireDualStack

  • ipFamilies

  • clusterIPs

当然,多数用户其实也无需担心,默认情况下 Kubernetes 会自动处理相关的配置。


欢迎订阅我的文章公众号【MoeLove】

TheMoeLove

参考资料

[1]

k8s生态: https://zhuanlan.zhihu.com/container

[2]

docker-github-action: https://github.com/tao12345666333/docker-github-action

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张晋涛-MoeLove

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值