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

Docker v19.03.6-rc2 发布

自 2019 年 11 月 15 日 Docker v19.03.5 发布后,Docker Inc. 包括社区都发生了不少的变化。

v19.03.6 将会是 v19.03 系列的下一个 bugfix 版本。在此版本中,有几个比较值得注意的内容:

  • buildkit: 修复了在触发 ONBUILD 规则之后,未清理掉 ONBUILD 规则的问题。对于依赖 ONBUILD 指令,且使用 buildkit 的用户而言是个重要修复;
  • buildkit: 修复了启用了 userns 时,可能导致权限错误的问题;
  • 使用了 libnetwork 的短 ID, 以避免遇到 UNIX_PATH_MAX 的错误;

说到这个问题,其实也蛮有趣的,可能不少人都遇到过类似的问题。当然我也想在这个 UNIX_PATH_MAX 的问题上稍微多聊一点。

这个问题其实在四五年前我在 Docker 项目中其他的部分就遇到过,解决起来也简单就是缩短路径长度即可。但你可能会好奇,要缩短到什么程度呢?多长是合理值呢?

其实这个问题要深究的话,背后有蛮多历史的,这里我先跳过。我主要说下如何目前的限制是什么,这个限制可以在 Linux 的源码中找到的。

// include/uapi/linux/un.h
#ifndef _LINUX_UN_H
#define _LINUX_UN_H#include <linux/socket.h>#define UNIX_PATH_MAX   108struct sockaddr_un {__kernel_sa_family_t sun_family; /* AF_UNIX */char sun_path[UNIX_PATH_MAX];   /* pathname */
};#define SIOCUNIXFILE (SIOCPROTOPRIVATE + 0) /* open a socket file with O_PATH */#endif /* _LINUX_UN_H */

可以看到现在头文件中定义的是 108 。( 注意我此处使用的是 Linux 5.4 版本的内核

另外,这个头文件定义在 include/uapi/linux/un.h 这个 uapi 目录可能有些人会觉得陌生,其实它是在 Linux 3.x 新增的,其中包含的内容基本就是原本散落在各处的头文件。这也是为了解决 Linux 中循环引用的问题。

有点跑题了,回到 Docker v19.03.6 版本上,如果你对此版本有所期待,可以抢先尝试下当前的 rc 版。如果追求稳定,可以再稍微等几天,等正式版本发布(大概在两周内)。

此处破例推荐下我的专栏 《Docker 核心知识必知必会》,当前内容已经更新了一半以上,以 Docker 的最新版本为基础,对比旧版本及 Docker 上游发展的差异,并对每个核心知识点进行由浅入深、从实践到内部原理的讲解,其中也包含了一些 Linux 内核相关的知识。感谢订阅。

containerd v1.3.3 发布

本周 containerd v1.3.3 发布,带来了一些重要的修复和更新:

  • runtime v2 方面,将 runc shim 中 platform 的关闭流程移到了 Shutdown 方法中,这样可以确保 platform 只关闭一次;
  • 修复了一个 containerd v1.3.0+ 版本及以上 exec 时存在的 eventfd 泄漏的 bug ;

另外,本周 containerd 也发布了 v1.2.12 版本

这两个版本中均包含了一系列重要的安全更新 CVE-2019-19921 、CVE-2019-16884 和 CVE-2020-0601

建议,如果有在使用 containerd 的朋友请尽早更新。这两个版本更详细的变更,请参考 containerd v1.2.12 的 ReleaseNote 和 containerd v1.3.3 的 ReleaseNote

CNCF 发布了 containerd 项目的旅程报告

CNCF 对 containerd 自创建到毕业后项目的活跃度及社区发展等维度进行了调研,并给出了相应的报告。

整体来看,containerd 自打从 Docker 中诞生开始,截至目前项目及社区发展都挺不错。

对此报告感兴趣的朋友可以参考 CNCF 的报告: CNCF containerd Project Journey Report 。

Docker 将关闭旧的 APT 和 YUM 仓库

Docker project 于 2013 年在 PyCon 上首次正式亮相,并逐步成长为社区项目,所以当时就注册了 dockerproject.orgdockerproject.com 的域名,并且后来在这两个域名之下托管了 APT 和 YUM 仓库。

后期随着 Docker Inc. 的成立,为了更好的专注于 Docker 的产品 (CE 和 EE),所以就注册了 docker.com 的域名。并且正式将 APT 和 YUM 仓库托管到了 download.docker.com

现在几乎所有人都已经在使用新的 download.docker.com 的仓库了(如果你还没有使用,请尽快更新)。

重点: Docker Inc 计划在 2020 年 3 月 31 日停止老旧的 dockerproject.org dockerproject.com 域名下托管的 APT 和 YUM 仓库了!

请大家尽早按 Docker 官方文档中的安装说明 安装 Docker,并停止使用老旧的仓库域名。

上游进展

kubectl run 想必大家都不陌生吧,可以用它来手动创建各种资源。

在 Kubernetes v1.18 中,会将之前已标注过期的各类 generator 都移除掉。 也就是说,自 v1.18 起使用 kubectl run 命令主要就是创建 Pod 了,而不会创建多余的 deploy 之类的。

至于像 service 加了 --expose 倒也还可以创建,只不过类似 --service-generator 这类参数就也都标记废弃了。

v1.18 之前版本的执行结果是这样:

(MoeLove) ➜  ~ kubectl run redis --image="redis:alpine"
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/redis created
(MoeLove) ➜  ~ kubectl get all -l run=redis
NAME                         READY   STATUS    RESTARTS   AGE
pod/redis-8544698fd7-tvz5q   1/1     Running   0          14sNAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/redis   1/1     1            1           14sNAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/redis-8544698fd7   1         1         1       14s

v1.18 版本:

(MoeLove) ➜  bin ./kubectl run redis-new --image="redis:alpine"
pod/redis-new created
(MoeLove) ➜  bin ./kubectl get all -l run=redis-new
NAME            READY   STATUS    RESTARTS   AGE
pod/redis-new   1/1     Running   0          12s

题外话

还是那句老话,注意勤洗手,多喝水,注意休息,照顾好家人。

在家宅着也别忘记学习,再次推荐专栏 《Docker 核心知识必知必会》


可以订阅我的文章公众号【MoeLove】

安装redis k8s_K8S 生态周报| Docker v19.03.6-rc2 发布相关推荐

  1. k8s 自定义dns_K8S 生态周报| Docker v19.03.10 正式发布

    「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息.欢迎订阅知乎专栏「k8s生态」. Node Exporter v1.0.0 正式发布 Prometheus 是最 ...

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

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

  3. 云原生生态周报 Vol. 15 | K8s 安全审计报告发布

    业界要闻 CNCF 公布Kubernetes 的安全审计报告 报告收集了社区对 Kubernetes.CoreDNS.Envoy.Prometheus 等项目的安全问题反馈,包含从一般弱点到关键漏洞. ...

  4. Docker 安装 Redis

    Docker 安装 Redis 方法一.docker pull redis:3.2 查找 Docker Hub上的 redis 镜像: docker search redis 这里我们拉取官方的镜像, ...

  5. 【Centos 7】【Docker】 安装 redis

    前言 CentOS Linux release 7.6.1810 (Core) Docker version 19.03.14, build 5eb3275d40 准备 docker 已安装. 安装 ...

  6. docker安装redis提示没有日记写入权限_Docker 学习笔记(第六集:使用 Dockerfile 定制镜像)...

    ethan 读完需要 11分钟 速读仅需 4 分钟 / 使用 Dockerfile 定制镜像 / 什么是 Dockerfile 呢? Dockerfile 是一个文本文档,其中包含用户可以在命令行上调 ...

  7. Docker系列 六. Docker 安装 Redis

    Docker 安装 Redis Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 的 NoSQL 数据库,并提供多种语言的 API . ...

  8. Docker 安装redis(四)

    Docker 安装redis 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search redis 2.拉取docker的mysql镜像(如果 ...

  9. docker 安装redis第三方集群方案 codis

    docker 安装redis第三方集群方案 codis docker 安装redis第三方集群方案 codis 首先,安装好docker环境,这里不提,需要看的可以在我的博客里找, 事先准备好zook ...

最新文章

  1. mysql 回滚 前滚_Oracle 实例恢复时 前滚 后滚说明
  2. 百度2014校园招聘笔试题(成都站,软件研发岗)——2014.09.21
  3. c语言我爱你二进制,二憨的爱情c语言表白代码我爱你·爱如流离.DOC
  4. 洛谷P3349:小星星(容斥dp)
  5. 追剧计划第三弹!UC Berkeley出品,全栈深度学习!
  6. python 抠图源码_别再自己抠图了,Python用5行代码实现批量抠图
  7. xgboost分类原理
  8. (STM32F103ZET6)SG90舵机的驱动程序
  9. vivo和小米鸿蒙系统哪个好,vivo和华为还有小米,哪个系统流畅度更好?
  10. mysql 三角函数_三角函数公式
  11. matlab gz,MATLAB之single函数
  12. 多个安卓设备投屏到电脑_安卓手机怎么投屏到电脑上?这样做,在电脑上就能操控手机...
  13. 路由器刷openwrt固件准备工作
  14. 如何对Pandas DataFrame进行自定义排序
  15. can协议crc计算_CAN协议中CRC编码的硬件实现
  16. SQLServer按照每小时、半小时分组
  17. monkey 测试 ANR 问题 整理分析
  18. Excel数据透视表之多重合并
  19. 中国各地商人性格大曝光
  20. Redis系列教材 (四)- Jedis 教程

热门文章

  1. forEach、for...in、for...of
  2. 第 14 章 结构和其他数据形式(names)
  3. MySQL性能优化的21个最佳实践 和 mysql使用索引
  4. 线程--线程池--委托--task---async/await
  5. ZYNQ ZCU102视频编码开发
  6. Exynos4412 BSP平台搭建(详细图解)
  7. Pulseaudio之模式设置(二十一)
  8. 进程间传递文件描述符--sendmsg,recvmsg(可用)
  9. Android TextureView 与 SurfaceView用法区别
  10. javap命令生成native需要的签名