ArgoWorkflow教程(七)---高效的步骤间文件共享策略

今天 13:39
阅读 7 分钟
20
之前我们分析了使用 artifact 实现步骤间文件共享,今天分享一下如何使用 PVC 实现高效的步骤间文件共享。<!--more-->1. 概述之前在 artifact 篇我们演示了如何使用 artifact 实现步骤间文件传递,今天介绍一种更为简单的文件传递方式:PVC 共享。artifact 毕竟是借助 S3 实现中转,效率上肯定是低于直接共享 PVC ...

ArgoWorkflow教程(六)---无缝实现步骤间参数传递

10 月 10 日
阅读 4 分钟
139
本文主要分析同一个 Workflow 中的不同 step 之间实现参数传递,比如将上一个步骤的输出作为下一个步骤的结果进行使用(而非以文件方式传递)。

ArgoWorkflow教程(五)---Workflow 的多种触发模式:手动、定时任务与事件触发

9 月 25 日
阅读 13 分钟
49
上一篇我们分析了argo-workflow 中的 archive,包括 流水线GC、流水线归档、日志归档等功能。本篇主要分析 Workflow 中的几种触发方式,包括手动触发、定时触发、Event 事件触发等。

ArgoWorkflow教程(四)---Workflow & 日志归档

9 月 13 日
阅读 12 分钟
242
上一篇我们分析了argo-workflow 中的 artifact,包括 artifact-repository 配置以及 Workflow 中如何使用 artifact。本篇主要分析流水线 GC 以及归档,防止无限占用集群中 etcd 的空间。

ArgoWorkflow教程(三)---使用 Artifacts 实现步骤间文件共享

8 月 29 日
阅读 14 分钟
154
上一篇我们分析了 Workflow、WorkflowTemplate、template 之间的关系。本篇主要分析如何在 argo-workflow 中使用 S3 存储 artifact 实现步骤之间的文件共享。

ArgoWorkflow教程(二)---快速构建流水线:Workflow & Template 概念

8 月 20 日
阅读 19 分钟
230
上一篇我们部署了 ArgoWorkflow,并创建了一个简单的流水线做了个 Demo。本篇主要分析 ArgoWorkflow 中流水线相关的概念,了解概念后才能更好使用 ArgoWorkflow。

ArgoWorkflow 教程(一)--DevOps 另一选择?云原生 CICD 初体验

8 月 6 日
阅读 4 分钟
451
本文主要记录了如何在 k8s 上快速部署云原生的工作流引擎 ArgoWorkflow。<!--more-->ArgoWorkflow 是什么Argo Workflows 是一个开源的云原生工作流引擎,用于在 Kubernetes 上编排并行作业。Argo 工作流作为Kubernetes CRD 实现。定义工作流,其中工作流中的每个步骤都是一个容器。将多步骤工作流建模为一系列任务...

从零开始写 Docker(十九)---增加 cgroup v2 支持

7 月 24 日
阅读 9 分钟
203
本文为从零开始写 Docker 系列第十九篇,添加对 cgroup v2 的支持。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Linux Namespace:Docker 隔离的神奇背后基于 ...

Linux-Cgroup V2 初体验

7 月 11 日
阅读 6 分钟
494
本文主要记录 Linux Cgroup V2 版本基本使用操作,包括 cpu、memory 子系统演示。<!--more-->1. 开启 Cgroup V2版本检查通过下面这条命令来查看当前系统使用的 Cgroups V1 还是 V2 {代码...} 如果输出是cgroup2fs 那就是 V2,就像这样 {代码...} 如果输出是tmpfs 那就是 V1,就像这样 {代码...} 启用 cgroup v2如...

基于 Cloudflare Workers 和 cloudflare-docker-proxy 搭建镜像加速服务

6 月 24 日
阅读 9 分钟
2.7k
本文主要介绍了如何基于 Cloudflare Workers 和 cloudflare-docker-proxy 搭建 dockerhub、gcr、quay 等镜像加速服务。

从零开始写 Docker(十八)---容器网络实现(下):为容器插上”网线“

6 月 13 日
阅读 19 分钟
424
本文为从零开始写 Docker 系列第十八篇,利用 linux 下的 Veth、Bridge、iptables 等等相关技术,构建容器网络模型,为容器插上”网线“。

从零开始写 Docker(十七)---容器网络实现(中):为容器插上”网线“

6 月 5 日
阅读 21 分钟
447
本文为从零开始写 Docker 系列第十七篇,利用 linux 下的 Veth、Bridge、iptables 等等相关技术,构建容器网络模型,为容器插上”网线“。

从零开始写 Docker(十六)---容器网络实现(上):为容器插上”网线”

5 月 28 日
阅读 20 分钟
420
本文为从零开始写 Docker 系列第十六篇,利用 linux 下的 Veth、Bridge、iptables 等等相关技术,构建容器网络模型,为容器插上”网线“。

从零开始写 Docker(十五)---实现 mydocker run -e 支持环境变量传递

5 月 24 日
阅读 5 分钟
553
本文为从零开始写 Docker 系列第十五篇,实现 mydocker run -e, 支持在启动容器时指定环境变量,让容器内运行的程序可以使用外部传递的环境变量。

从零开始写 Docker(十四)---重构:实现容器间 rootfs 隔离

5 月 10 日
阅读 14 分钟
251
本文为从零开始写 Docker 系列第十四篇,实现容器间的 rootfs 隔离,使得多个容器间互不影响。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Linux Namespace:D...

从零开始写 Docker(十三)---实现 mydocker rm 删除容器

5 月 9 日
阅读 8 分钟
522
本文为从零开始写 Docker 系列第十三篇,实现类似 docker rm 的功能,使得我们能够删除容器。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Linux Namespace:Do...

从零开始写 Docker(十二)---实现 mydocker stop 停止容器

4 月 25 日
阅读 6 分钟
142
本文为从零开始写 Docker 系列第十二篇,实现类似 docker stop 的功能,使得我们能够停止指定容器。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Linux Namespa...

从零开始写 Docker(十一)---实现 mydocker exec 进入容器内部

4 月 16 日
阅读 11 分钟
283
本文为从零开始写 Docker 系列第十一篇,实现类似 docker exec 的功能,使得我们能够进入到指定容器内部。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Linux N...

从零开始写 Docker(十)---实现 mydocker logs 查看容器日志

4 月 9 日
阅读 7 分钟
258
本文为从零开始写 Docker 系列第十篇,实现类似 docker logs 的功能,使得我们能够查查看容器日志。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Linux Namespa...

从零开始写 Docker(九)---实现 mydocker ps 查看运行中的容器

3 月 26 日
阅读 13 分钟
237
本文为从零开始写 Docker 系列第九篇,实现类似 docker ps 的功能,使得我们能够查询到后台运行中的所有容器。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Lin...

从零开始写 Docker(八)---实现 mydocker run -d 支持后台运行容器

3 月 21 日
阅读 6 分钟
328
本文为从零开始写 Docker 系列第八篇,实现类似 docker run -d 的功能,使得容器能够后台运行。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Linux Namespace:...

从零开始写 Docker(七)---实现 mydocker commit 打包容器成镜像

3 月 19 日
阅读 5 分钟
248
本文为从零开始写 Docker 系列第七篇,实现类似 docker commit 的功能,把运行状态的容器存储成镜像保存下来。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探索 Lin...

从零开始写 Docker(六)---实现 mydocker run -v 支持数据卷挂载

3 月 14 日
阅读 12 分钟
124
本文为从零开始写 Docker 系列第六篇,实现类似 docker -v 的功能,通过挂载数据卷将容器中部分数据持久化到宿主机。<!--more-->完整代码见:[链接] 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs基于 namespace 的视图隔离:探...

从零开始写 Docker(五)---基于 overlayfs 实现写操作隔离

3 月 12 日
阅读 9 分钟
292
本文为从零开始写 Docker 系列第五篇,在 pivotRoot 基础上通过 overlayfs 实现写操作隔离,达到容器中写操作和宿主机互不影响。

从零开始写 Docker(四)---使用 pivotRoot 切换 rootfs 实现文件系统隔离

3 月 5 日
阅读 7 分钟
416
本文为从零开始写 Docker 系列第四篇,在mydocker run 基础上使用 pivotRoot 系统调用切换 rootfs 实现容器和宿主机之间的文件系统隔离。

从零开始写 Docker(三)---基于 cgroups 实现资源限制

3 月 1 日
阅读 15 分钟
453
本文为从零开始写 Docker 系列第三篇,在mydocker run 基础上基于 cgroups 实现容器的资源限制。<!--more-->完整代码见:[链接] 欢迎 Star如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原生】即可订阅推荐阅读以下文章对 docker 基本实现有一个大致认识...

从零开始写 Docker(二)---优化:使用匿名管道传递参数

2 月 26 日
阅读 7 分钟
644
本文为从零开始写 Docker 系列第二篇,主要在 mydocker run 命令基础上优化参数传递方式,改为使用 runC 同款的匿名管道传递参数。

从零开始写 Docker(一)---实现 mydocker run 命令

2 月 22 日
阅读 15 分钟
705
本文为从零开始写 Docker 系列第一篇,主要实现 mydocker run 命令,构造了一个具有基本的 Namespace 隔离的简单容器。

揭秘 Docker 网络:手动实现 Docker 桥接网络

1 月 23 日
阅读 9 分钟
644
本文将带领读者探索 Docker 桥接网络模型的内部机制,通过 veth pair、bridge、iptables 等关键技术手动实现 Docker 桥接网络模型,揭示网络背后的运作原理。

Docker 魔法解密:探索 UnionFS 与 OverlayFS

1 月 19 日
阅读 14 分钟
642
本文主要介绍了 Docker 的另一个核心技术:Union File System。主要包括对 overlayfs 的演示,以及分析 docker 是如何借助 ufs 实现容器 rootfs 的。