运维
Jenkins X 不是 Jenkins ,而是一个技术栈
· ☕ 5 分钟
1. Jenkins X 简介 Jenkins 依靠庞大的插件生态,占据了目前大部分的企业级 CICD 引擎的份额。但在云原生时代,Jenkins 也暴露出很多的问题,单点服务、磁盘存储、内存占用等。 Jenkins X 围绕 Kubernetes,提供了一种更适合云原生时代的 DevOps 方式。Jenkins X 不是 Jenkins

Etcd、Etcdctl 应用实践
· ☕ 5 分钟
1. Etcd 基本介绍 Etcd 是一个分布式 Key/Value 的存储系统,通过分布式锁、leader 选举、写屏障(write barriers) 实现了分布式协作,提供高可用、持久化数据存储和检索服务。 工作原理 每个 Etcd 节点都存储了一份完整的数据,任意时刻至多存在一个主节点。主节点处理所有来自客户

Kubernetes 动态创建 Jenkins Agent 压力测试
· ☕ 7 分钟
前面的文档中,我们利用 Kubernetes 提供的弹性,在 Kubernetes 上动态创建 Jenkins Slave 。本篇文档主要是对 Jenkins 进行大规模构建的压力测试。 1. 集群配置 1.1 Kubernetes 版本 这里使用的是 v1.16.7 1 2 3 4 kubectl version Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.7", GitCommit:"be3d344ed06bff7a4fc60656200a93c74f31f9a4", GitTreeState:"clean", BuildDate:"2020-02-11T19:34:02Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.7", GitCommit:"be3d344ed06bff7a4fc60656200a93c74f31f9a4", GitTreeState:"clean", BuildDate:"2020-02-11T19:24:46Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"} 1.2 节点数量 集群节点总数, 16 个 1 2 3 kubectl get node |grep "Ready" | wc -l 16

多架构下的 Docker 镜像
· ☕ 3 分钟
1. 开启 Docker 的 experimental 特性 这里先开启 Docker 的 experimental 特性,方便下文使用相关命令。 编辑文件 vim ~/.docker/config.json,增加如下内容: 1 2 3 4 { "experimental": "enabled", "debug": true } 注意,这里不是 /etc/docker/daemon.json 文件,也不需要重启 Docker 。 2. Docker 镜像 从 Docker 1.10 、 Registry 2.3 开始,Docker 引入了 manifest 用于描述

Kubernetes 添加 Windows 节点
· ☕ 4 分钟
这里主要使用 Windows 节点作为 Worker,而 Master 控制平面依然在 Linux 。 1. 系统配置 1.1 Kubernetes 控制平面 Kubernetes 自 1.14 版本,增加了对 Windows 节点生产级的支持。由于微软官方文档主要提供的是 flannel 网络插件的安装方式,这里建议 Kubernetes 也采用 flannel 插件。 查看当前集群 Kubernetes 版本 1 2 3 4 kubectl version Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.6", GitCommit:"d32e40e20d167e103faf894261614c5b45c44198", GitTreeState:"clean", BuildDate:"2020-05-20T13:16:24Z",